°°À½
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"´Â ¸ðµÎ »ó¼âµË´Ï´Ù). |