Shell is a UNIX term for interactive user interface with Linux. It understands the commands written by the user. It exists outside of the operating system and it helps in communication between the kernel and the user.
๐ก Some examples are cshell, bourneshell, bashshell, tcshell, kornshell.
์ง์ญ ๋ณ์๋ ์์ ์ ์์ฑํ Shell์์๋ง ์ฌ์ฉํ ์ ์๋ค
ํ๊ฒฝ ๋ณ์๋ ์์ ์ ์์ฑํ Shell ๋ฟ๋ง ์๋๋ผ, ์ด๋ก๋ถํฐ ํ์๋์ด ๋์จ ์์ ํ๋ก์ธ์ค์์๋ ์ฌ์ฉํ ์ ์๋ค.
โ ~ pstree
systemdโโฌโModemManagerโโโ2*[{ModemManager}]
โโNetworkManagerโโโ2*[{NetworkManager}]
โโVGAuthService
.
.
.
**โโsshdโโโsshdโโโzshโโโpstree**
.
.
.
๐ก Just a reminder that init
starts the processes 'one by one' however, the systemd
starts processes in a 'group'
๋ณ์ ์ ์ธ
โ ~ A=itbank
โ ~ export NAME=waji
โ ~ echo A
A
โ ~ echo NAME
NAME
โ ~ echo $NAME
waji
โ ~ env
.
.
.
LESS=-R
LSCOLORS=Gxfxcxdxbxegedabagacad
**NAME=waji**
.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
**export NAME=waji**
์ ์ด๋ฌธ
If-else
if [ ์กฐ๊ฑด 1 ]; then
โ์กฐ๊ฑด 1์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ ํ ๋ด์ฉโ
elif [ ์กฐ๊ฑด 2 ]; then
โ์กฐ๊ฑด 2๊ฐ ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ ํ ๋ด์ฉโ
else
โ๋ชจ๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ์คํ ํ ๋ด์ฉโ
fi
Case
case ์กฐ๊ฑด in
์กฐ๊ฑด 1 )
โ์กฐ๊ฑด 1์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ ํ ์คํ๋ฌธโ;;
์กฐ๊ฑด 2 )
โ์กฐ๊ฑด 2๊ฐ ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ ํ ์คํ๋ฌธโ;;
* )
โ์กฐ๊ฑด 1, ์กฐ๊ฑด 2๊ฐ ์ฐธ์ด ์๋ ๊ฒฝ์ฐ ์คํ ํ ์คํ๋ฌธโ;;
esac
Select
select ๋ณ์ in [ ํญ๋ชฉ1 ํญ๋ชฉ2 ํญ๋ชฉ3 .. ]
do
โํญ๋ชฉ์ด ์ ํจ ํ ๊ฒฝ์ฐ ์คํ ํ ์คํ๋ฌธโ
done
For
for ๋ณ์ in ์ธ์1, ์ธ์2, ์ธ์3 โฆ [ ๋ฐฉ๋ฒ.1 ]
for (( ์ด๊ธฐ๊ฐ;์ข
๋ฃ๊ฐ;์ฆ๊ฐ๊ฐ )) [ ๋ฐฉ๋ฒ.2 ] ( โ
)
do
โ๋ฐ๋ณตํ๋ฉฐ ์คํ ํ ์คํ๋ฌธโ
done
While
while [ ์กฐ๊ฑด ]
do
โ์กฐ๊ฑด์ด ๋ง์กฑํ๋ ๋์ ๋ฐ๋ณตํ๋ฉฐ ์คํ ํ ์คํ๋ฌธโ
done
Function
function ํจ์๋ช
( ) {
โํจ์ ๋ด๋ถ์์ ์คํ ํ ์คํ๋ฌธโ
}
ํจ์๋ช
# ํจ์ ํธ์ถ
ETC
1. [eval]
- ํน์ ๋ช
๋ น์ด๋ฅผ ๋ณ์๋ก ์ ์ฅํ๊ณ ์ํ๋ ์์ ์ ์คํ ๋ ๋ ์ฌ์ฉ ๋๋ค.
- EX) str=โls -l /homeโ
eval $str
2. [ set, unset ]
- ํน์ ๋ณ์ ํ ๋น ๋ฐ ํ ๋น ํด์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
- ์๋ฌ ๋ฐ์ ์ ShellScript๋ฅผ ์ฆ์ ์ข
๋ฃํ๋ ์ฉ๋๋ก ์ฃผ๋ก ์ฌ์ฉ ( set -e )
3. [ $(๋ช
๋ น์ด) ]
- ํน์ ๋ช
๋ น์ด๋ฅผ ์ฆ์ ์คํ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
Top comments (0)