3.27. ¿É¼Ç

¿É¼ÇÀº ½©À̳ª ½ºÅ©¸³Æ®ÀÇ ÇൿÀ» º¯°æÇϵµ·Ï ¼³Á¤ÇØÁÝ´Ï´Ù.

set ¸í·É¾î(3.9절 Âü°í)´Â ½ºÅ©¸³Æ® ¾È¿¡¼­ ¿É¼ÇÀ» ÄÓ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ¿É¼ÇÀÌ Àû¿ëµÇ°Ô ÇÏ°í ½ÍÀº °÷¿¡¼­ set -o option-nameÀ̶ó°í ¾²°Å³ª, ª°Ô set -option-abbrev¶ó°í ¾²¸é µË´Ï´Ù. ÀÌ µÎ °¡Áö ÇüÅ´ µ¿ÀÏÇÏ°Ô µ¿ÀÛÇÕ´Ï´Ù.

      #!/bin/bash

      set -o verbose
      # ¸ðµç ¸í·É¾î°¡ ½ÇÇàµÇ±â Àü¿¡ ¸í·É¾î ÀÚ½ÅÀ» Ãâ·Â½ÃÅ´(echo).
      

      #!/bin/bash

      set -v
      # À§¿Í ¿ÏÀüÈ÷ ¶È°°À½
      

참고: ½ºÅ©¸³Æ® ¾È¿¡¼­ ¿É¼ÇÀ» ²ô°í ½Í´Ù¸é, set +o option-name³ª set +option-abbrev¸¦ ¾²¼¼¿ä.

      #!/bin/bash

      set -o verbose
      # ¸í·É¾î ÀÚü°¡ ÂïÈü´Ï´Ù.
      command
      ...
      command

      set +o verbose
      # ¸í·É¾î°¡ ÀÚü°¡ ÂïÈ÷Áö ¾Ê½À´Ï´Ù.
      command
      # ¾È º¸ÀÌÁÒ?


      set -v
      # ¸í·É¾î ÀÚü°¡ ÂïÈ÷°í,
      command
      ...
      command

      set +v
      # ´Ù½Ã ¾È ÂïÈ÷°í.
      command

      exit 0
      

½ºÅ©¸³Æ®¿¡¼­ ¿É¼ÇÀ» ÄÑ´Â ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â, ½ºÅ©¸³Æ® Çì´õÀÎ #! µÚ¿¡ Àû¾î ÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.

      #!/bin/bash -x
      #
      # ¿ø·¡ ½ºÅ©¸³Æ® ³»¿ëÀÌ ³ª¿É´Ï´Ù.
      

¶ÇÇÑ ¸í·É¾î ÁÙ¿¡¼­ ¿É¼ÇÀ» ÄÑ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. setÀ¸·Î ¾È ¸Ô´Â ¸î¸î ¿É¼ÇÀº ÀÌ ¹æ¹ýÀ» ¾²¸é µË´Ï´Ù. ÀÌ·± ¿É¼ÇÁß ÇϳªÀÎ -i´Â ½ºÅ©¸³Æ®¸¦ »óÈ£ ´ëÈ­Àû(interactive)À¸·Î µ¹°Ô ÇÕ´Ï´Ù.

bash -v script-name

bash -o verbose script-name

´ÙÀ½Àº À¯¿ëÇÑ ¸î °³ÀÇ ¿É¼Çµé ¸ñ·ÏÀÔ´Ï´Ù. ´ÜÃàÇüÀ̳ª ¿ÏÀüÇÑ À̸§ ¾Æ¹«°ÍÀ¸·Î³ª ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

표 3-1. bash ¿É¼Çµé

´ÜÃàÇüÀ̸§¶æ
-CnoclobberÆÄÀÏÀÌ ÀçÁöÇâ¿¡ ÀÇÇØ µ¤¾î½áÁö´Â °ÍÀ» ¸·¾ÆÁÝ´Ï´Ù( >| À¸·Î´Â °¡´ÉÇÒ ¼ö ÀÖ½À´Ï´Ù)
-D(none)$ ´ÙÀ½¿¡ ³ª¿À´Â Å« µû¿ÈÇ¥·Î ¹­ÀÎ ¹®ÀÚ¿­ ¸ñ·ÏÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¶§ ¸í·É¾î¸¦ ½ÇÇà ½ÃŰÁö´Â ¾Ê½À´Ï´Ù.
-aallexportÁ¤ÀÇµÈ ¸ðµç º¯¼ö¸¦ export ½ÃÅ´
-bnotify¹é±×¶ó¿îµå·Î µ¹´ø ÀÛ¾÷ÀÇ Á¾·á¸¦ Áï½Ã ¾Ë·ÁÁÝ´Ï´Ù (½ºÅ©¸³Æ®¿¡¼­´Â ±×·¸°Ô ÀÚÁÖ ¾²ÀÌÁö ¾Ê½À´Ï´Ù)
-c xxx(none)xxx¿¡¼­ ¸í·É¾î¸¦ ÀÐ¾î µéÀÓ
-fnoglobÆÄÀϸí È®Àå(globbing)À» ÇÏÁö ¾Ê½À´Ï´Ù.
-iinteractive½ºÅ©¸³Æ®¸¦ »óÈ£ ´ëÈ­(interactive) ¸ðµå·Î µ¹°Ô ÇÔ
-pprivileged½ºÅ©¸³Æ®¸¦ "suid"·Î µ¹°Ô ÇÔ(Á¶½ÉÇÒ °Í!)
-rrestricted½ºÅ©¸³Æ®¸¦ Á¦ÇÑµÈ ¸ðµå·Î µ¹°Ô ÇÔ (3.17절 Âü°í).
-unounsetÁ¤ÀÇ ¾È µÈ º¯¼ö »ç¿ë½Ã ¿¡·¯ ¸Þ¼¼Áö Ãâ·Â
-vverbose¸í·É¾î ½ÇÇà Àü¿¡ ±× ¸í·É¾î ÀÚü¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸¿©ÁÜ
-xxtrace-v¿Í ºñ½ÁÇϳª ¸í·É¾î¸¦ È®ÀåÇÕ´Ï´Ù.
-eerrexit0ÀÌ ¾Æ´Ñ °ªÀ¸·Î Á¾·áÇϴ ù¹øÂ° ¸í·É¾î¿¡¼­ ½ºÅ©¸³Æ®¸¦ ÁߴܽÃŵ´Ï´Ù.
-nnoexec½ºÅ©¸³Æ®ÀÇ ¸í·É¾îµéÀ» Àб⸸ ÇÏ°í ½ÇÇà½ÃŰÁö´Â ¾Ê½À´Ï´Ù.
-sstdinÇ¥ÁØ ÀԷ¿¡¼­ ¸í·É¾î¸¦ ÀÐ¾î µéÀÓ
-t(none)ù¹øÂ° ¸í·É¾î ´ÙÀ½¿¡ ¹Ù·Î Á¾·á
-(none)¿É¼Ç Ç÷¡±×ÀÇ ³¡. ³ª¸ÓÁö ÀÎÀÚµéÀº ¸ðµÎ À§Ä¡ ÀÎÀÚÀÓ.
--(none)À§Ä¡ ÀÎÀÚ¸¦ ¾ø¾Û´Ï´Ù. ¸¸¾à¿¡ ÀÎÀÚ°¡ ÁÖ¾îÁö¸é (--arg1arg2), ±×°ÍÀ¸·Î ÀÎÀÚ°¡ ¼³Á¤µË´Ï´Ù.