°°À½
if [ "$a" -eq "$b" ]
°°Áö ¾ÊÀ½
if [ "$a" -ne "$b" ]
´õ Å
if ["$a" -gt "$b" ]
´õ Å©°Å³ª °°À½
if [ "$a" -ge "$b" ]
´õ ÀÛÀ½
if [ "$a" -lt "$b" ]
´õ À۰ųª °°À½
if [ "$a" -le "$b" ]
´õ ÀÛÀ½(ÀÌÁß ¼Ò°ýÈ£¿¡¼)
(("$a" < "$b"))
´õ À۰ųª °°À½(ÀÌÁß ¼Ò°ýÈ£¿¡¼)
(("$a" <= "$b"))
´õ Å(ÀÌÁß ¼Ò°ýÈ£¿¡¼)
(("$a" > "$b"))
´õ Å©°Å³ª °°À½(ÀÌÁß ¼Ò°ýÈ£¿¡¼)
(("$a" >= "$b"))
°°À½
if [ "$a" = "$b" ]
°°À½
if [ "$a" == "$b" ]
= ¿Í µ¿ÀǾîÀÔ´Ï´Ù.
[[ $a == z* ]] # $a °¡ "z"·Î ½ÃÀÛÇϸé Âü(ÆÐÅÏ ¸ÅĪ) [[ $a == "z*" ]] # $a °¡ z* ¿Í °°´Ù¸é Âü [ $a == z* ] # ÆÄÀÏ globbingÀ̳ª ³¹¸» Á¶°¢³²ÀÌ ÀϾ [ "$a" == "z*" ] # $a °¡ z* ¿Í °°´Ù¸é Âü # Thanks, S.C. |
°°Áö ¾ÊÀ½
if [ "$a" != "$b" ]
ÀÌ ¿¬»êÀÚ´Â [[ ... ]] ¿¡¼ ÆÐÅÏ ¸ÅĪÀ» »ç¿ëÇÕ´Ï´Ù.
¾Æ½ºÅ° ¾ËÆÄºª ¼ø¼¿¡¼ ´õ ÀÛÀ½
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
"<" °¡ [ ] ¿¡¼ ¾²ÀÏ ¶§´Â À̽ºÄÉÀÌÇÁ¸¦ ½ÃÄÑ¾ß ÇÏ´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä.
¾Æ½ºÅ° ¾ËÆÄºª ¼ø¼¿¡¼ ´õ Å
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
">" °¡ [ ] ¿¡¼ ¾²ÀÏ ¶§´Â À̽ºÄÉÀÌÇÁ¸¦ ½ÃÄÑ¾ß ÇÏ´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä.
ÀÌ ºñ±³ ¿¬»êÀÚ¸¦ ¾î¶»°Ô ÀÀ¿ëÇÏ´ÂÁö ¿¹ 26-4¿¡¼ »ìÆìº¸¼¼¿ä.
¹®ÀÚ¿ÀÌ "null"ÀÓ. Áï, ±æÀ̰¡ 0
¹®ÀÚ¿ÀÌ "null"ÀÌ ¾Æ´Ô.
¿¹ 7-4. »ê¼ú ºñ±³¿Í ¹®ÀÚ¿ ºñ±³
#!/bin/bash a=4 b=5 # ¿©±â¼ "a"¿Í "b"´Â Á¤¼ö³ª ¹®ÀÚ¿ ¾çÂÊ ¸ðµÎ·Î ÇØ¼®µÉ ¼ö ÀÖ½À´Ï´Ù. # Bash º¯¼ö´Â ŸÀÔ¿¡ ´ëÇØ °ü´ëÇϱ⠶§¹®¿¡ #+ »ê¼ú ºñ±³¿Í ¹®ÀÚ¿ ºñ±³¿¡´Â ¾à°£ ¾Ö¸ÅÇÑ ºÎºÐÀÌ ÀÖ½À´Ï´Ù. # Bash ´Â ¼ýÀڷθ¸ ÀÌ·ç¾îÁø º¯¼ö¿¡ ´ëÇØ¼ #+ »ê¼ú ºñ±³µµ Çã¿ëÇÏ°í ¹®ÀÚ¿ ºñ±³µµ Çã¿ëÇÕ´Ï´Ù. # ÁÖÀÇÇØ¼ ¾²±â ¹Ù¶ø´Ï´Ù. if [ "$a" -ne "$b" ] then echo "$a ¿Í $b ´Â °°Áö ¾Ê½À´Ï´Ù." echo "(»ê¼ú ºñ±³)" fi echo if [ "$a" != "$b" ] then echo "$a ´Â $b ¿Í °°Áö ¾Ê½À´Ï´Ù." echo "(¹®ÀÚ¿ ºñ±³)" fi # ¿©±â¼ "-ne" ¿Í "!=" ´Â µÑ ´Ù µ¿ÀÛÇÕ´Ï´Ù. echo exit 0 |
¿¹ 7-5. ¹®ÀÚ¿ÀÌ ³ÎÀÎÁö Å×½ºÆ® Çϱâ
#!/bin/bash
# str-test.sh: Testing null strings and unquoted strings,
# but not strings and sealing wax, not to mention cabbages and kings...
# (¿Å±äÀÌ: ??? :)
# if [ ... ] ¸¦ ¾µ²²¿ä.
# ¹®ÀÚ¿ÀÌ ÃʱâÈ ¾È µÆ´Ù¸é Á¤ÇØÁø °ªÀ» °®Áö ¾Ê´Âµ¥
#+ ÀÌ·± »óŸ¦ "³Î"(null)À̶ó°í ºÎ¸¨´Ï´Ù(0 °ú´Â ´Ù¸¨´Ï´Ù).
if [ -n $string1 ] # $string1 Àº ¼±¾ðµµ Ãʱâȵµ ¾È µÆ½À´Ï´Ù.
then
echo "\"string1\" Àº ³ÎÀÌ ¾Æ´Õ´Ï´Ù."
else
echo "String \"string1\" Àº ³ÎÀÔ´Ï´Ù."
fi
# Ʋ·ÈÁÒ.
# ÃʱâȰ¡ ¾È µÆ´Âµ¥µµ ³ÎÀÌ ¾Æ´Ñ °ÍÀ¸·Î ³ª¿À³×¿ä.
echo
# ´Ù½Ã ÇØº¸ÁÒ.
if [ -n "$string1" ] # À̹ø¿£ $string1 À» Äõ¿ìÆ® ½ÃÄѼ ÇØº¸ÁÒ.
then
echo "\"string1\" Àº ³ÎÀÌ ¾Æ´Õ´Ï´Ù."
else
echo "\"string1\" Àº ³ÎÀÔ´Ï´Ù."
fi # Å×½ºÆ®¹®¿¡¼´Â ¹®ÀÚ¿À» ²À Äõ¿ìÆ® ½ÃŰ¼¼¿ä!
echo
if [ $string1 ] # À̹ø¿£ ´Þ¶û $string1 ¸¸ µÎ°í ÇØº¸ÁÒ.
then
echo "\"string1\" Àº ³ÎÀÌ ¾Æ´Õ´Ï´Ù."
else
echo "\"string1\" Àº ³ÎÀÔ´Ï´Ù."
fi
# ÀÌ°Ç Àß µÇ³×¿ä.
# ¹®ÀÚ¿À» Äõ¿ìÆ® ½ÃŰ´Â °Ô("$string1") ÁÁÀº ½À°üÀ̱ä ÇÏÁö¸¸
# [ ] Å×½ºÆ® ¿¬»êÀڴ ȥÀÚ ¾²ÀÌ¸é ¹®ÀÚ¿ÀÌ ³ÎÀÎÁö ¾Æ´ÑÁö¸¦ Àß ¾Ë¾Æ³À´Ï´Ù.
#
# Stephane Chazelas °¡ ÁöÀûÇÑ °Íó·³,
# if [ $string 1 ] ´Â ÀÎÀÚ°¡ "]" Çϳª°í,
# if [ "$string 1" ] ´Â ÀÎÀÚ°¡ ºó "$string1"°ú "]", µÎ °³ÀÔ´Ï´Ù.
echo
string1=initialized
if [ $string1 ] # , $string1 À» ´Ù½Ã È¥ÀÚ ½áº¸ÁÒ.
then
echo "\"string1\" Àº ³ÎÀÌ ¾Æ´Õ´Ï´Ù."
else
echo "\"string1\" Àº ³ÎÀÔ´Ï´Ù."
fi
# ¿ª½Ã °á°ú°¡ ¸Â°Ô Àß ³ª¿ÀÁÒ.
# ¸¶Âù°¡Áö·Î ÀÌÀ¯·Î Äõ¿ìÆ® ÇØÁÖ´Â °ÍÀÌ("$string1") ÁÁ½À´Ï´Ù. ¿Ö³ÄÇϸé...
string1="a = b"
if [ $string1 ] # $string1 À» ¶Ç È¥ÀÚ ¾¹´Ï´Ù.
then
echo "\"string1\" Àº ³ÎÀÌ ¾Æ´Õ´Ï´Ù."
else
echo "\"string1\" Àº ³ÎÀÔ´Ï´Ù."
fi
# ÀÌÁ¦ "$string1"À» Äõ¿ìÆ® ÇØ ÁÖÁö ¾ÊÀ¸¸é Ʋ¸° °á°ú°¡ ³ª¿É´Ï´Ù!
exit 0
# Florian Wisser°¡ ³¯Ä«·Ó°Ô ÁöÀûÇØ ÁØ °Í¿¡µµ °¨»çÇÕ´Ï´Ù. |
¿¹ 7-6. zmost
#!/bin/bash
# 'most'·Î gzipÀ¸·Î ¹ÀÎ ÆÄÀÏÀ» º¸±â
NOARGS=65
NOTFOUND=66
NOTGZIP=67
if [ $# -eq 0 ] # if [ -z "$1" ] ¶ó°í ÇØµµ °°À½
# $1 ÀÌ Á¸ÀçÇÏÁö¸¸ ºñ¾î ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù: zmost "" arg2 arg3
then
echo "»ç¿ë¹ý: `basename $0` filename" >&2
# Ç¥ÁØ¿¡·¯·Î ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·Â.
exit $NOARGS
# ½ºÅ©¸³Æ®ÀÇ Á¾·á ÄÚµå(¿¡·¯ ÄÚµå)·Î 65¸¦ ¸®ÅÏ.
fi
filename=$1
if [ ! -f "$filename" ] # $filename ¿¡ ºó ÄÀÌ µé¾î ÀÖÀ» ¼öµµ Àֱ⠶§¹®¿¡ Äõ¿ìÆÃÇØÁÝ´Ï´Ù.
then
echo "$filename ÆÄÀÏÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù!" >&2
# Ç¥ÁØÃâ·ÂÀ¸·Î ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·Â.
exit $NOTFOUND
fi
if [ ${filename##*.} != "gz" ]
# º¯¼ö ġȯÀÎ Áß°ýÈ£¸¦ »ç¿ëÇÔ.
then
echo "$1 ÆÄÀÏÀº gzip ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù!"
exit $NOTGZIP
fi
zcat $1 | most
# 'most' ÆÄÀÏ ºä¾î ¾²±â('less'¿Í ºñ½Á).
# 'more'³ª 'less'·Î ¹Ù²ãµµ ±¦ÂúÀ½.
exit $? # ÆÄÀÌÇÁÀÇ Á¾·á »óŸ¦ ¸®ÅÏ.
# ½ºÅ©¸³Æ®´Â ¾î¶² °æ¿ìµçÁö°£¿¡ ¸¶Áö¸·¿¡ ½ÇÇàµÈ ¸í·É¾îÀÇ Á¾·á »óŸ¦
#+ ¸®ÅÏÇϱ⠶§¹®¿¡ ½ÇÁ¦·Î´Â "exit $?"°¡ ÇÊ¿ä¾ø½À´Ï´Ù. |
³í¸® and
exp1 -a exp2 ´Â exp1 °ú exp2 ¸ðµÎ ÂüÀÏ °æ¿ì¿¡¸¸ ÂüÀ» ¸®ÅÏÇÕ´Ï´Ù.
³í¸® or
exp1 -o exp2 ´Â exp1 À̳ª exp2 Áß Çϳª¶óµµ ÂüÀÏ °æ¿ì¿¡ ÂüÀ» ¸®ÅÏÇÕ´Ï´Ù.
À̰͵éÀº ÀÌÁß ´ë°ýÈ£¿¡¼ ¾²ÀÌ´Â Bash ºñ±³ ¿¬»êÀÚÀÎ &&¿Í ||¿Í ºñ½ÁÇÕ´Ï´Ù.
[[ condition1 && condition2 ]] |
if [ "$exp1" -a "$exp2" ] |
º¹ÇÕ ºñ±³ ¿¬»êÀÚ°¡ ½ÇÁ¦·Î ¾²ÀÌ´Â ¿¹´Â ¿¹ 8-2 ¿Í ¿¹ 26-7¸¦ Âü°í.
| [1] | S.C. °¡ ÁöÀûÇÑ´ë·Î º¹ÇÕ Å×½ºÆ®¿¡¼´Â Äõ¿ìÆÃ¸¸À¸·Î ÃæºÐÄ¡ ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. [ -n "$string" -o "$a" = "$b" ]ÀÇ °æ¿ì $stringÀÌ ºñ¾î ÀÖÀ» °æ¿ì, ¸î¸î Bash ¹öÀü¿¡¼´Â ¿¡·¯¸¦ ³¾ ¼öµµ ÀÖ½À´Ï´Ù. ¾ÈÀüÇÏ°Ô °¡·Á¸é ºñ¾î ÀÖ´Â °ªÀ» °¡Áú °¡´É¼ºÀÌ ÀÖ´Â º¯¼ö¿¡ ±ÛÀÚ¸¦ µ¡ºÙ¿© ÁÖ¸é µË´Ï´Ù. [ "x$string" != x -o "x$a" = "x$b" ]("x's"´Â ¸ðµÎ »ó¼âµË´Ï´Ù). |