Skip to content

YoungHaKim7/Shell_Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

link


shell script ๊ธฐ์ดˆ

#!/bin/sh
echo -e "Hello\n$NAME!" #๊ฐœํ–‰๋œ๋‹ค.
#!/bin/bash
echo -e "Hello\n$NAME!" #๊ฐœํ–‰๋œ๋‹ค.

https://fopman.tistory.com/137

PATH(bash)

vi /etc/bash.bashrc

A collection of useful .gitignore templates

  • .gitignore์„ธํŒ… ์–ธ์–ด๋ณ„๋กœ ๋‹ค ์ •๋ฆฌ๋˜์–ด ์žˆ๋‹ค. ๊ตฟ ๐Ÿ‘๐Ÿ’•๐Ÿ™Œ


.DS_Store๋งŒ gitignore[๐Ÿ”]

echo ".DS_Store" >> .gitignore 

fishshell์šฉ echo๋กœ gitignore๋„ฃ๊ธฐ[๐Ÿ”]

echo "# Result" >> README.md &&
echo "" >> README.md &&
echo "```bash" >> README.md &&
echo "" >> README.md &&
echo "```" >> README.md &&
echo "" >> README.md &&

echo "# Visual Studio 2015/2017 cache/options directory" >> .gitignore &&
echo ".vs/" >> .gitignore &&
echo "" >> .gitignore &&
echo "# A collection of useful .gitignore templates " >> .gitignore &&
echo "# https://github.com/github/gitignore" >> .gitignore &&
echo "# General" >> .gitignore &&
echo ".DS_Store" >> .gitignore &&
echo "dir/otherdir/.DS_Store" >> .gitignore &&
echo "" >> .gitignore &&

echo "# VS Code files for those working on multiple tools" >> .gitignore &&
echo ".vscode/" >> .gitignore &&
echo "# Generated by Cargo" >> .gitignore  &&
echo "# will have compiled files and executables" >> .gitignore &&
echo "debug/" >> .gitignore &&
echo "target/" >> .gitignore &&
echo "" >> .gitignore &&

echo "# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries" >> .gitignore &&
echo "# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html" >> .gitignore &&
echo "Cargo.lock" >> .gitignore &&
echo "" >> .gitignore &&

echo "# These are backup files generated by rustfmt" >> .gitignore &&
echo "**/*.rs.bk" >> .gitignore &&
echo "" >> .gitignore &&

echo "# MSVC Windows builds of rustc generate these, which store debugging information" >> .gitignore &&
echo "*.pdb" >> .gitignore &&
echo "" >> .gitignore &&

echo "# WASM" >> .gitignore &&
echo "pkg/" >> .gitignore &&
echo "/wasm-pack.log" >> .gitignore &&
echo "dist/" >> .gitignore

Rust .gitignore (macOS, LinuxOS)

echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md &&

echo "# A collection of useful .gitignore templates " >> .gitignore &&
echo "# https://github.com/github/gitignore\xa" >> .gitignore &&
echo "# General" >> .gitignore &&
echo ".DS_Store" >> .gitignore &&
echo "dir/otherdir/.DS_Store\xa" >> .gitignore &&

echo "# VS Code files for those working on multiple tools" >> .gitignore &&
echo ".vscode/\xa" >> .gitignore &&
echo "# Generated by Cargo" >> .gitignore  &&
echo "# will have compiled files and executables" >> .gitignore &&
echo "debug/" >> .gitignore &&
echo "target/\xa" >> .gitignore &&

echo "# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries" >> .gitignore &&
echo "# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html" >> .gitignore &&
echo "Cargo.lock\xa" >> .gitignore &&

echo "# These are backup files generated by rustfmt" >> .gitignore &&
echo "**/*.rs.bk\xa" >> .gitignore &&

echo "# MSVC Windows builds of rustc generate these, which store debugging information" >> .gitignore &&
echo "*.pdb\xa" >> .gitignore &&

echo "# WASM" >> .gitignore &&
echo "pkg/" >> .gitignore &&
echo "/wasm-pack.log" >> .gitignore &&
echo "dist/" >> .gitignore
  • WindowsOS(PowerShell)
echo "# Result`r`n`r`n```````n`r`n```````n" >> README.md &&
echo "/target`r`nCargo.lock`r`n" >> .gitignore
  • WindowsOS(PowerShell) ver.2
echo "# A collection of useful .gitignore templates/`r`n# https://github.com/github/gitignore/`r`n# General/`r`n.DS_Store/`r`n `r`n# Generated by Cargo`r`n# will have compiled files and executables`r`ndebug/`r`ntarget/`r`n `r`n# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries`r`n# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html`r`nCargo.lock`r`n `r`n# These are backup files generated by rustfmt`r`n**/*.rs.bk`r`n `r`n# MSVC Windows builds of rustc generate these, which store debugging information`r`n*.pdb`r`n" >> .gitignore && echo "# Result`r`n`r`n```````n`r`n```````n" >> README.md

https://devblogs.microsoft.com/scripting/powertip-new-lines-with-powershell/

  • macOS & LinuxOS
echo "/target\xa\.DS_Store\xa/.vscode\xa# Generated by Cargo\xa# will have compiled files and executables\xadebug/\xatarget/\xa# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries\xa# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html\xaCargo.lock\xa# These are backup files generated by rustfmt\xa*/*.rs.bk\xa# MSVC Windows builds of rustc generate these, which store debugging information\xa*.pdb\xadist/\xapkg/\xa" >> .gitignore &&
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md
  • Rust .gitignore
# A collection of useful .gitignore templates
# https://github.com/github/gitignore
# General
.DS_Store

# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
  • WASM + Rust.gitignore
# A collection of useful .gitignore templates 
# https://github.com/github/gitignore

# General
.DS_Store

# VS Code files for those working on multiple tools
.vscode/

# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

# WASM
pkg/
/wasm-pack.log
dist/

C .gitignore

# macOS general
.DS_Store

# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
main

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
  • echo
echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md &&

echo "# macOS general" >> .gitignore &&
echo ".DS_Store\xa" >> .gitignore &&

echo "# Prerequisites" >> .gitignore &&
echo "*.d\xa" >> .gitignore &&

echo "# Object files" >> .gitignore &&
echo "*.o" >> .gitignore &&
echo "*.ko" >> .gitignore &&
echo "*.obj" >> .gitignore &&
echo "*.elf\xa" >> .gitignore &&

echo "# Linker output" >> .gitignore &&
echo "*.ilk" >> .gitignore &&
echo "*.map" >> .gitignore &&
echo "*.exp\xa" >> .gitignore &&

echo "# Precompiled Headers" >> .gitignore &&
echo "*.gch" >> .gitignore &&
echo "*.pch\xa" >> .gitignore &&

echo "# Libraries" >> .gitignore &&
echo "*.lib" >> .gitignore &&
echo "*.a" >> .gitignore &&
echo "*.la" >> .gitignore &&
echo "*.lo\xa" >> .gitignore &&

echo "# Shared objects (inc. Windows DLLs)" >> .gitignore &&
echo "*.dll" >> .gitignore &&
echo "*.so" >> .gitignore &&
echo "*.so.*" >> .gitignore &&
echo "*.dylib\xa" >> .gitignore &&

echo "# Executables" >> .gitignore &&
echo "*.exe" >> .gitignore &&
echo "*.out" >> .gitignore &&
echo "*.app" >> .gitignore &&
echo "*.i*86" >> .gitignore &&
echo "*.x86_64" >> .gitignore &&
echo "*.hex" >> .gitignore &&
echo "main\xa" >> .gitignore &&

echo "# Debug files" >> .gitignore &&
echo "*.dSYM/" >> .gitignore &&
echo "*.su" >> .gitignore &&
echo "*.idb" >> .gitignore &&
echo "*.pdb\xa" >> .gitignore &&

echo "# Kernel Module Compile Results" >> .gitignore &&
echo "*.mod*" >> .gitignore &&
echo "*.cmd" >> .gitignore &&
echo ".tmp_versions/" >> .gitignore &&
echo "modules.order" >> .gitignore &&
echo "Module.symvers" >> .gitignore &&
echo "Mkfile.old" >> .gitignore &&
echo "dkms.conf" >> .gitignore


Zig .gitignore[๐Ÿ”]

echo "# Result\xa\xa\x60\x60\x60\xa\xa\x60\x60\x60" >> README.md &&

echo "# A collection of useful .gitignore templates " >> .gitignore &&
echo "# https://github.com/github/gitignore\xa" >> .gitignore &&
echo "# This file is for zig-specific build artifacts." >> .gitignore &&
echo "# If you have OS-specific or editor-specific files to ignore,\xa# such as *.swp or .DS_Store, put those in your global" >> .gitignore &&
echo "# General" >> .gitignore &&
echo ".DS_Store\xa" >> .gitignore &&

echo "# VS Code files for those working on multiple tools" >> .gitignore &&
echo ".vscode/\xa" >> .gitignore &&
echo "# Generated by zig build run" >> .gitignore  &&
echo "# will have compiled files and executables" >> .gitignore &&
echo "zig-out/" >> .gitignore &&
echo "zig-cache/" >> .gitignore &&
echo "/release/" >> .gitignore &&
echo "/debug/" >> .gitignore &&
echo "/build/" >> .gitignore &&
echo "/build-*/" >> .gitignore &&
echo "/docgen_tmp/\xa" >> .gitignore
# This file is for zig-specific build artifacts.
# If you have OS-specific or editor-specific files to ignore,
# such as *.swp or .DS_Store, put those in your global
.DS_Store
# VS Code files for those working on multiple tools
.vscode/
# ~/.gitignore and put this in your ~/.gitconfig:
#
# [core]
#     excludesfile = ~/.gitignore
#
# Cheers!
# -andrewrk

zig-cache/
zig-out/
/release/
/debug/
/build/
/build-*/
/docgen_tmp/

์ถœ์ฒ˜ https://github.com/ziglang/zig/blob/master/.gitignore

github/gitignore#3442


Java & Kotlin .gitignore[๐Ÿ”]

.gradle
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

Java & Kotlin echo .gitignore

echo ".gradle" >> .gitignore &&
echo "**/build/" >> .gitignore &&
echo "\x21src/**/build/\xa" >> .gitignore &&

echo "# Ignore Gradle GUI config" >> .gitignore &&
echo "gradle-app.setting\xa" >> .gitignore &&

echo "# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)" >> .gitignore &&
echo "\x21gradle-wrapper.jar\xa" >> .gitignore &&

echo "# Avoid ignore Gradle wrappper properties" >> .gitignore &&
echo "\x21gradle-wrapper.properties\xa" >> .gitignore &&

echo "# Cache of project" >> .gitignore &&
echo ".gradletasknamecache\xa" >> .gitignore &&

echo "# Eclipse Gradle plugin generated files" >> .gitignore &&
echo "# Eclipse Core" >> .gitignore &&
echo ".project" >> .gitignore &&
echo "# JDT-specific (Eclipse Java Development Tools)" >> .gitignore &&
echo ".classpath" >> .gitignore


TypeScript .gitignore[๐Ÿ”]

echo "node_modules/" >> .gitignore &&
echo ".DS_Store" >> .gitignore &&
echo "package-lock.lock" >> .gitignore &&
echo ".vscode/" >> .gitignore &&
echo "dist/" >> .gitignore &&
echo "pkg/" >> .gitignore &&
echo "build/" >> .gitignore

echo ์—์ฝ”(echo)๋กœ ์œ ๋‹ˆ์ฝ”๋“œ(Unicode) ์ถœ๋ ฅํ•˜๊ธฐ[๐Ÿ”]

echo $'\uf115'

Power10k Install[๐Ÿ”]

https://economiceco.tistory.com/m/16511

    1. sudo apt install zsh
$ sudo apt install zsh
    1. Nerd Font์„ค์น˜

https://github.com/romkatv/powerlevel10k#fonts

  • . ohmyzsh์„ค์น˜

https://ohmyz.sh/

https://ohmyz.sh/#install

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

ohmyzsh github https://github.com/ohmyzsh/ohmyzsh

    1. power10k์„ค์น˜

https://github.com/romkatv/powerlevel10k

    1. bashrc ์„ค์ • ์ตœ์ƒ๋‹จ์— ์ถ”๊ฐ€
exec zsh
    1. ํ„ฐ๋ฏธ๋„์—์„œ zsh ์น˜๋ฉด ์„ค์ •ํ™”๋ฉด ๋‚˜์˜ด .zshrc ์„ค์ • ๋๋‚ด๊ณ  Plugins ์ถ”๊ฐ€
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git
    # other plugins..
    zsh-syntax-highlighting
    zsh-autosuggestions
    z
    fzf # ํ•„์š”ํ•˜๋ฉด ์ถ”๊ฐ€ํ•˜์„ธ์š”
    fasd # ํ•„์š”ํ•˜๋ฉด ์ถ”๊ฐ€ํ•˜์„ธ์š”
)
    1. ์„ค์ • ๋๋‚ด๊ณ  Plugins ์ถ”๊ฐ€
cd .oh-my-zsh/plugins

pluginsํด๋” ๋“ค์–ด๊ฐ€์„œ

git clone ์œผ๋กœ ๊ฐ•์ œ๋กœ ๋„ฃ์–ด์ฃผ๊ธฐ

zsh-z https://github.com/agkozak/zsh-z

https://github.com/zsh-users/zsh-autosuggestions

https://github.com/zsh-users/zsh-syntax-highlighting

.zshrc ์—์„œ ํ•  ์˜ˆ์ •

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH




๋์€ :$PATH๋กœ ๋๋‚ด๊ณ  ๊ทธ ์‚ฌ์ด์— ํด๋” ๋„ฃ๊ณ  : ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.


๋‚ด ์„ค์ •
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$HOME/.cargo/bin:$HOME/.zig:$HOME/zls:$PATH:
    1. ๋‚ด๊ฐ€ ์„ธํŒ…ํ•œ PATHํ™•์ธ๋ฐฉ๋ฒ•
$PATH

https://github.com/YoungHaKim7/rust_vim_setting

dotfiles_linux/์ฐธ์กฐํ•˜์„ธ์š”



shell๋ช…๋ น์–ด ์ •๋ฆฌ์ž˜๋จ.commands.dev

https://www.commands.dev/


xxd ์‚ฌ์šฉ๋ฒ•


Regular Expression

https://www.regexpal.com/

Shell_Script

ASCII Table(16์ง„์ˆ˜๋กœ ์™ธ์šฐ์ž)

์ฃผ๋กœ ์“ฐ๋Š” ascii & Unicode ์ •๋ฆฌ
charโœจ Escape 16์ง„์ˆ˜Hx ์„ค๋ช…Description 10์ง„์ˆ˜Dec 8์ง„์ˆ˜Oct 2์ง„์ˆ˜Binary In Unicode
LF \xa 0xA NL line feed, new line 10 0o12 0b1010
Space \x20 0x20 Space 32 0o40 0b00100000
! \x21 0x21 Exclamation mark 33 0o41 0b00100001
` \x60 0x60 Backtic, Grave 96 0o140 0b1100000 U+0060
`
GRAVE ACCENT


SILQ Unicode

https://github.com/YoungHaKim7/silq_project

์–‘์ž ์ฝ”๋”ฉ ์ž์ฃผ ์“ฐ๋Š” Unicode
Symbol Unicode(Hex) LaTeX ShortCut Name 10์ง„์ˆ˜Dec
โ†’ 2192 \to Rightwards Arrow 8594
โ„• 2115 \bn Double-Struck Capital N 8469
โ„ 211D \br Double-Struck Capital R 8477
ฯ€ 3A0 \pi Greek Capital Letter Pi 928
๐”น 1D539 \bb Mathematical Double-Struck Capital B 120121
โ‹… 22C5 \cdot Dot Operator 8901
ฮธ 398 \theta Greek Capital Letter Theta 920
ฯˆ 3A8 \psi Greek Capital Letter PSI 936
ฮป 39B \lambda Greek Capital Letter LAMDA 923
ยฌ AC \neg Not Sign 172
ร— D7 \times Multiplication Sign 215
ยฑ B1 \pm Plus-Minus Sign 177
๐Ÿ™ 1D7D9 \b1 Mathematical Double-Struck Digit One 120793

Memory 2, 8 , 16 pattern

Binary vs Octal vs Decimal vs Hexadecimal
16์ง„์ˆ˜Hx ์„ค๋ช…Description 10์ง„์ˆ˜Dec 8์ง„์ˆ˜Oct 2์ง„์ˆ˜Binary
0xff 255 0o377 0b11111111