#1 ์ ธ ์คํฌ๋ฆฝํธ
๋จผ์ ,
์ ธ ์คํฌ๋ฆฝํธ๋ ๊ทธ ๋ด์ฉ์ ์ฒซ์ค์ด
#!/bin/bash
๋ก ์์๋๋ ๊ฒ์ด ์์น์ด๋ค.
if ๋ฌธ
if.sh ๋ด์ฉ :
ใ กใ กใ กใ กใ ก
#!/bin/bash
if [ -d $1 ]
then
echo this is folder
else
echo this is not folder
fi
ใ กใ กใ กใ กใ ก
vi if.sh : sh ํ์์ด๊ณ ํ์ผ์ด๋ฆ์ด if ์ธ ํ์ผ ์์ฑ ํ, ๋ด์ฉ์ vi ์๋ํฐ๋ก ์ ๋ ฅํ๋ ์ํ๋ก ์ด๋.
cd /app/ws/script : /app/ws/script ์์น๋ก ์ด๋.
vi if.sh : if.sh ์ด๋ผ๋ ์ ธ ์คํฌ์ ํธ ์์ฑ ํ vi ์๋ํฐ๋ก ์์ .
chmod 755 if.sh : 755 ๊ถํ ๋ถ์ฌ.
ls -al : ํ์ฌ ํด๋์์ ๋ชจ๋ ํ์ผ์ ๋ฆฌ์คํธํ์์ผ๋ก ํ์ธ.
./if.sh : if.sh ์คํ.
./if.sh 123 : ์ธ์ 123์ ๋ฃ์ ์ฑ๋ก if.sh ์คํ
cat if.sh : if.sh ์ ์ฝ๊ธฐ
mkdir test : test ๋ผ๋ ์ด๋ฆ์ ํด๋๋ฅผ ํ์ฌ ์์น์ ์์ฑ.
./if.sh a : ํ์ฌ ์์น์์ ์๋ if.sh ์ a ๋ผ๋ ์ธ์๋ฅผ ๋ฃ๊ณ ์คํ.
-> ํด๋์ด๊ธฐ ๋๋ฌธ์ "this is folder" ์ถ๋ ฅ.
./if.sh test : ํ์ฌ ์์น์์ ์๋ if.sh ์ test๋ผ๋ ์ธ์๋ฅผ ๋ฃ๊ณ ์คํ.
-> ํด๋๊ฐ ์๋๊ธฐ ๋๋ฌธ์ "this is not folder" ์ถ๋ ฅ.
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
**์ฌ๊ธฐ์ if๋ฌธ์ [ ] ์์ ์ฐ๋ -d ์ ๊ฐ์ ๊ฒ๋ค์ ๋ํด ์์๋ณด์.
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
ํ๋ผ๋ฏธํฐ (Parameter)
- ํ๋ผ๋ฏธํฐ ๋ณ์๋ $0, $1, $2…์ ํํ๋ฅผ ๊ฐ์ง
- ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ $*๋ก ํํ
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
if.sh ์ ๋ด์ฉ.
ใ กใ กใ กใ กใ ก
#!/bin/bash
if [ "$1" != "" ] && [ -e $1 ]
then
echo this is folder
else
echo this is not folder
fi
ใ กใ กใ กใ กใ ก
ใ กใ กใ กใ กใ ก
[ "$1" != "" ] : ํ๋ผ๋ฏธํฐ1 ์ด ๊ณต๋ฐฑ์ด ๊ณต๋ฐฑ์ด ์๋๊ฐ?
[ -e $1 ] : ํ๋ผ๋ฏธํฐ1 ์ด ํ์ผ๋ก ์กด์ฌํ๋๊ฐ?
ใ กใ กใ กใ กใ ก
touch a : a๋ผ๋ ํ์ผ ์์ฑ.
ls -al : ํ์ฌ ํด๋์์ ๋ชจ๋ ํ์ผ์ ๋ฆฌ์คํธํ์์ผ๋ก ์ถ๋ ฅ.
vi if.sh : if.sh ์ vi์๋ํฐ๋ก ์์ .
cat if.sh : if.sh ๋ฅผ ์ฝ๊ธฐ
./if.sh a : ํ๋ผ๋ฏธํฐ1์ a๋ฅผ ๋ฃ๊ณ ํ์ฌ์์น์ ์๋ if.sh ์ ์คํ.
-> [a๋ ๊ณต๋ฐฑ์ด ์๋๋ฏ๋ก ์ฐธ] && [a๋ ํ์ผ์ด๋ฏ๋ก ์ฐธ] -> echo this is folder
chmod 755 a : a ํ์ผ์ 755 ๊ถํ ๋ถ์ฌ.
chmod 2755 a : ๊ทธ๋ฃน์์ด๋๋ก ์ค์ .
# -rwxr-sr-x ๋ก ๊ถํ์ด ๋ณํ์์ ์ ์ ์๋ค.
touch b : b ๋ผ๋ ์ด๋ฆ์ ํ์ผ ์์ฑ.
vi if.sh : if.sh ์ ๋ด์ฉ ์์ .
./if.sh b : ํ๋ผ๋ฏธํฐ1์ b๋ฅผ ๋ฃ๊ณ if.sh ์คํ.
./if.sh a : ํ๋ผ๋ฏธํฐ1์ a๋ฅผ ๋ฃ๊ณ if.sh ์คํ.
ใ กใ กใ กใ กใ ก
if.sh ๋ด์ฉ
ใ กใ กใ กใ กใ ก
#!/bin/bash
if [ "$1" != "" ] && [ -g $1 ] #[$1์ด ๊ณต๋ฐฑ์ด ์๋๊ฐ?] && [$1์ด set-group-id๊ฐ ์ค์ ๋์๋๊ฐ?]
then
echo this is folder
else
echo this is not folder
fi
ใ กใ กใ กใ กใ ก
๋ฐ๋ผ์
./if.sh a -> [a๋ ๊ณต๋ฐฑ์ด์๋๋ค -> ์ฐธ] && [a๋ set-group-id ๊ฐ ์ค์ ๋์ด์๋ค. -> ์ฐธ ] -> echo this is folder
./if.sh b -> [b๋ ๊ณต๋ฐฑ์ด ์๋๋ค -> ์ฐธ] && [b๋ set-group-id๊ฐ ์ค์ ๋์ด์์ง ์๋ค. -> ๊ฑฐ์ง] -> echo this not folder
ใ กใ กใ กใ กใ ก
์ด if๋ฌธ ์ ธ์ ๋ฌด์์ผ๊น?
ใ กใ กใ กใ กใ ก
#!/bin/bash
if [ -s $1 ] && [ -f $1 ] # [$1์ ํ์ผํฌ๊ธฐ๊ฐ 0์ด ์๋๊ฐ?] && [$1์ด ์ผ๋ฐ ํ์ผ์ธ๊ฐ?]
then
echo $1
else
echo "wrong"
fi
ใ กใ กใ กใ กใ ก
์ด if๋ฌธ ์ ธ์ ๋ฌด์์ผ๊น?
ใ กใ กใ กใ กใ ก
#!/bin/bash
echo "plz input file name" # ๋ฌธ์ฅ ์ถ๋ ฅ
read fname # ์ ๋ ฅ๋ฐ์ ๊ฐ์ fname ์ ์ ์ฅ.
if [ $fname -s ] && [ -f $fname ] # [$fname์ ํ์ผํฌ๊ธฐ๊ฐ 0์ด ์๋๊ฐ?] && [$fname์ด ์ผ๋ฐ ํ์ผ์ธ๊ฐ?]
then
echo $fname
else
echo "wrong"
fi
ใ กใ กใ กใ กใ ก
':: Linux ๐ฉ > Linux_shell_script' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฌ๋ ์ค] [6์ผ์ฐจ] [์ ธ ์คํฌ๋ฆฝํธ - etc / ๋๋จธ์ง ์ ธ๋ค.] (0) | 2021.05.07 |
---|---|
[๋ฆฌ๋ ์ค] [6์ผ์ฐจ] [์ ธ ์คํฌ๋ฆฝํธ - ํจ์] (0) | 2021.05.07 |
[๋ฆฌ๋ ์ค] [์ ธ ์คํฌ๋ฆฝํธ] [while ๋ฌธ] (0) | 2021.05.07 |
[๋ฆฌ๋ ์ค1] [6์ผ์ฐจ] [ #03 ์ ธ์คํฌ๋ฆฝํธ for๋ฌธ ] (0) | 2021.05.03 |
[๋ฆฌ๋ ์ค1] [6์ผ์ฐจ] [ #02 ์ ธ์คํฌ๋ฆฝํธ case๋ฌธ ] (0) | 2021.05.03 |
๋๊ธ