[LINUX]Shell script λ³μ
in Tech-Stack on LINUX
Contents
Shell script λ³μ
μ§μλ³μ
- ν ν°λ―Έλ λ΄μμλ§ μ¬μ©μ΄ κ°λ₯ν λ³μ
- μ μΈλ°©λ²
λ³μλͺ =κ° declare λ³μλͺ =κ° [root@localhost backup]# a=100 [root@localhost backup]# declare b=200 - νκ²½λ³μλ₯Ό μ§μλ³μλ‘ λ³ν κ°λ₯
export -n νκ²½λ³μ_μ΄λ¦ declare -a νκ²½λ³μ_μ΄λ¦ [root@localhost backup]# export -n a [root@localhost backup]# declare -a b
νκ²½λ³μ
- μ¬λ¬ ν°λ―Έλ λ΄μμ 곡μ ν μ μλ λ³μ
- μ μΈ λ°©λ²
μ§μλ³μ μ μΈ ν -> export λ³μλͺ (μ§μλ³μλ₯Ό νκ²½λ³μλ‘) export λ³μλͺ =κ° (νκ²½ λ³μ μμ±) declare -x λ³μλͺ =κ° [root@localhost backup]# export a [root@localhost backup]# export c=300 [root@localhost backup]# declare -x d=400
μ½κΈ°μ μ© λ³μ
- κ° λ³κ²½μ΄ λΆκ°λ₯νκ³ μ½κΈ°λ§ κ°λ₯ν λ³μ
readonly λ³μλͺ declare -r λ³μλͺ =κ° [root@localhost backup]# C="Readonly Local variable" [root@localhost backup]# readonly C [root@localhost backup]# declare -r D="im Readonly variable" [root@localhost backup]# C="test" error [root@localhost backup]# declare D="update!!" error
λ³μνμΈ
env,pringenv,declareμ ν΅ν΄ λ³μ listλ₯Ό νμΈν μ μλ€.echoλ₯Ό ν΅ν΄ μ§μ, νκ²½λ³μ κ°μ νμΈν μ μλ€.- a λ³μμ κ°μ νΈμΆ
echo $a
- a λ³μμ κ°μ νΈμΆ
λ³μν΄μ
unset λ³μλͺμ ν΅ν΄ λ³μλ₯Ό ν΄μ ν μ μλ€.
BASHμ νκ²½λ³μ(μμ½λ³μ)
bashλ₯Ό ν΅ν΄ μμ shellμ μμ±ν μ μλ€.- μμ νλ‘μΈμ€(μμ BASH)κ° μ’
λ£λλ©΄ νμ νλ‘μΈμ€(νμ BASH)λ μ’
λ£λλκ² μΌλ°μ μ΄μ§λ§ κ°λ νμ νλ‘μΈμ€κ° μ΄μμλ κ²½μ°κ° μλ€.
- μ΄λ° νλ‘μΈμ€λ₯Ό μ’λΉ νλ‘μΈμ€λΌκ³ λΆλ₯Έλ€.
| ex. βμλ΅μμβ μ΄λΌκ³ λ¨λ©΄μ μκΊΌμ§λ κ²½μ°
- μ΄λ° νλ‘μΈμ€λ₯Ό μ’λΉ νλ‘μΈμ€λΌκ³ λΆλ₯Έλ€.
| ENV | .bashrc νμΌμμ μ€μ νλ©° ν¨μμ λ³λͺ λ±μ μ€μ νλ νκ²½ νμΌμ μ΄λ¦μ μ€μ |
|---|---|
| EUID | Shellμ΄ μμν λ νμ¬ μ¬μ©μμ μ ν¨ IDλ₯Ό νμ₯νλ€. |
| HISTFILE | μ¬μ©μκ° μ λ ₯ν λͺ λ Ήμ΄λ€μ λ΄μ(History)λ₯Ό νμΈν μ μλ€. κΈ°λ³Έκ°μ ~/.bash_historyμ΄λ€. |
| HOME | μ¬μ©μμ ν λλ ν 리μ κ°μ κ°μ§κ³ μμΌλ©° νΉμ λλ ν 리λ₯Ό μ§μ νμ§ μκ³ cd λͺ λ Ήμ΄λ₯Ό μ¬μ©ν λ μ΄μ©νλ€. |
| LANG | LC_λ‘ μμνλ λ³μλ€μ ν¬ν¨λμ§ μλ λ‘μΌμΌμ μ€μ |
| PATH | λͺ λ Ήμ΄μ κ²μ κ²½λ‘, μ½λ‘ μΌλ‘ ꡬλΆν λλ ν 리 λͺ©λ‘ |
| PPID | λΆλͺ¨νλ‘μΈμ€μ PID |
| PWD | νμ¬ μμ λλ ν 리 |
| SHELL | νμ¬ μ¬μ©λμ΄μ§κ³ μλ SHELL |
| UID | νμ¬ μ¬μ©μμ UID |
λ³μ μΉν
- LINUX μ¬μ©νκ²½ ꡬμ±μ μν μ€μ μ μ¬μ©λλ€.
- Windowsμ κ²½μ° νκ²½ μ€μ μ μν΄ νκ²½ μ€μ νμΌ, λ μ§μ€νΈλ¦¬, νκ²½λ³μ λ±μ μ¬μ©
UNIXμ κ²½μ° νκ²½ μ€μ μ μν΄ νκ²½ μ€μ νμΌ, νκ²½λ³μ λ±μ μ¬μ©
- κΈ°μ‘΄ λ³μμ μΆκ°νλ λ°©λ²
export [κΈ°μ‘΄λ³μλͺ ]=$[κΈ°μ‘΄λ³μλͺ ]:[μΆκ°ν dir] κΈ°μ‘΄ PATH λ³μμ κ²½λ‘(/home/user/bin)μ μΆκ° => [root@localhost backup]# export PATH=$PATH:/home/user/bin- EX 1) touchλ₯Ό MYTOUCHλ‘ μΉνν΄μ μ¬μ©νκΈ° ```shell [root@localhost backup]# export MYTOUCH=touch [root@localhost backup]# $MYTOUCH testfile
`(Back Quote)- λ°±μΏΌν° μμ λͺ λ Ήμ΄ λ¨Όμ μ€ν΄μ€λκ³ κ·Έ κ²°κ³Ό κ°μ΄ μμ μλ λͺ λ Ήμ΄ μ€νμ μ¬μ©λλ€.[root@localhost ~]# echo `echo Hi` Hi [root@localhost ~]# echo "Now Date is :`date`" Now Date is : 2022. 03. 22. (ν) 15:22:22 KST- ` μμ
echo Hiλ₯Ό λͺ λ Ήμ΄μ μ€ν κ²°κ³Όλ‘ μΉννλ€.
- ` μμ
- μΏΌν
- λͺ
λ Ήμ΄μ νΉμ λΆλΆμ λ¬Άλ κ²
" ... " "" μμ λ΄μ©μ λͺ λ Ήμ΄λ‘ μ€νμ΄ λλ€.(μΉν λμ) ' ... ' '' μμ λ΄μ©μ λͺ λ Ήμ΄λ‘ μ€νμ΄ μλλ€.(μΉν λΆκ°) \(back slash) \ λ°λ‘ λ€μ ν λ¬Έμλ₯Ό λ¬Έμ κ·Έλλ‘ μΈμ(escape) - example
[root@localhost ~]# A=Yejin [root@localhost ~]# echo "$A" Yejin [root@localhost ~]# echo '$A' $A [root@localhost ~]# echo \$A $A
- example
