"and list"°ú "or list"Àº ¿©·¯°³ÀÇ ¸í·É¾îµéÀ» ¿¬¼ÓÀûÀ¸·Î ½ÇÇà½Ãų ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. À̰ɷΠ¾ÆÁÖ º¹ÀâÇÑ ´ÙÁß if/thenÀ̳ª case¹®À» È¿°úÀûÀ¸·Î ´ëÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁÖÀÇÇÒ Á¡Àº "and list"À̳ª "or list"ÀÇ Á¾·á »óÅ´ ¸¶Áö¸·¿¡ ½ÇÇàµÈ ¸í·É¾îÀÇ Á¾·á »óŸ¦ °®´Â´Ù´Â °ÍÀÔ´Ï´Ù.
command-1 && command-2 && command-3 && ... command-n |
예 3-86. "and list"À» ½á¼ ¸í·É¾îÁÙ ÀÎÀÚ È®ÀÎÇϱâ
#!/bin/bash # "and list" if [ ! -z $1 ] && echo "ù¹øÂ° ÀÎÀÚ = $1" && [ ! -z $2 ] && echo "µÎ¹øÂ° ÀÎÀÚ = $2" then echo "µÎ °³ ÀÌ»óÀÇ ÀÎÀÚ°¡ ³Ñ¾î¿Ô½À´Ï´Ù." # ¸ðµç ¸í·É¾î »ç½½ÀÌ ÂüÀ» ¸®ÅÏÇßÀ» °æ¿ì else echo "µÎ °³ ¹Ì¸¸ÀÇ ÀÎÀÚ°¡ ³Ñ¾î¿Ô½À´Ï´Ù." # ¸í·É¾î »ç½½Áß ÃÖ¼Ò Çϳª°¡ °ÅÁþÀ» ¸®ÅÏ fi # ÁÖÀÇÇÏ½Ç°Ô Çϳª Àֳ׿ä. "if [ ! -z $1 ]" ´Â Àß µÇÁö¸¸ ¶È°°À» °Í °°Àº # "if [ -n $1 ]" ´Â ¾È µË´Ï´Ù. ÀÌ°Ç ¹ö±×Áö Ư¡ÀÌ ¾Æ´Õ´Ï´Ù. # "¼ø¼öÇÑ" if/then ¹®À» ½á¼ ¶È°°Àº ÀÏÀ» ÇÕ´Ï´Ù. if [ ! -z $1 ] then echo "ù¹øÂ° ÀÎÀÚ = $1" fi if [ ! -z $2 ] then echo "µÎ¹øÂ° ÀÎÀÚ = $2" echo "µÎ °³ ÀÌ»óÀÇ ÀÎÀÚ°¡ ³Ñ¾î¿Ô½À´Ï´Ù." else echo "µÎ °³ ¹Ì¸¸ÀÇ ÀÎÀÚ°¡ ³Ñ¾î¿Ô½À´Ï´Ù." fi # ÀÌ·¸°Ô ±¸ÇöÇÏ´Â °ÍÀº "and list" ¹öÀüº¸´Ù ´õ ±æ°í ´ú ¼¼·ÃµÅ º¸ÀÔ´Ï´Ù. exit 0 |
command-1 || command-2 || command-3 || ... command-n |
예 3-87. "and list"°ú "or list"¸¦ °°ÀÌ ¾²±â
#!/bin/bash # "Delete", º°·Î Á¤±³ÇÏÁö ¾ÊÀº ÆÄÀÏ Áö¿ì±â À¯Æ¿¸®Æ¼ # »ç¿ë¹ý: delete filename if [ -z $1 ] then file=nothing else file=$1 fi # Áö¿ï ¶§ ¸Þ¼¼Áö¸¦ À§Çؼ ÆÄÀÏ À̸§(À̳ª "nothing")À» ¾Ë¾Æ³¿ [ ! -f $1 ] && echo "$1 ¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù. Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀº Áö¿ï ¼ö ¾ø½À´Ï´Ù." # AND LIST, ÆÄÀÏÀÌ ¾øÀ» ¶§ ¿¡·¯ ¸Þ¼¼Áö¸¦ ³¿ [ ! -f $1 ] || ( rm -f $1; echo "$file À» Áö¿ü½À´Ï´Ù." ) # OR LIST, ÆÄÀÏÀÌ ÀÖ´Ù¸é Áö¿ò # ( command1 ; command2 ) ´Â »ç½Ç, AND LISTÀÇ ´Ù¸¥ ¹öÀüÀÔ´Ï´Ù. # ·ÎÁ÷ÀÌ µÚ¹Ù²ï °Í¿¡ ÁÖÀÇÇϼ¼¿ä. # AND LIST ´Â ÂüÀÏ ¶§ ½ÇÇàµÇ°í, OR LIST ´Â °ÅÁþÀÏ ¶§ ½ÇÇàµË´Ï´Ù. [ ! -z $1 ] || echo "»ç¿ë¹ý: `basename $0` filename" # ¸í·É¾î ÁÙ ÀÎÀÚ(ÆÄÀÏ À̸§)ÀÌ ¾øÀ» °æ¿ì ¿¡·¯ ¸Þ¼¼Áö¸¦ ³»±â À§ÇÑ OR LIST exit 0 |
"and"¿Í "or"¸¦ ¾ÆÁÖ ¸ÚÁö°Ô ¿¬°áÇØ¼ ¾µ ¼öµµ ÀÖÁö¸¸ ±×·¸°Ô µÇ¸é Àüü ·ÎÁ÷ÀÌ µÚÁ×¹ÚÁ׵DZ⠽±°í µð¹ö±ëÇÒ ¶§ ¾ÆÁÖ Èûµé¾î Áú °ÍÀÔ´Ï´Ù.