¿É¼ÇÀº ½©À̳ª ½ºÅ©¸³Æ®ÀÇ ÇൿÀ» º¯°æÇϵµ·Ï ¼³Á¤ÇØÁÝ´Ï´Ù.
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 ¿É¼Çµé
´ÜÃàÇü | À̸§ | ¶æ |
---|---|---|
-C | noclobber | ÆÄÀÏÀÌ ÀçÁöÇâ¿¡ ÀÇÇØ µ¤¾î½áÁö´Â °ÍÀ» ¸·¾ÆÁÝ´Ï´Ù( >| À¸·Î´Â °¡´ÉÇÒ ¼ö ÀÖ½À´Ï´Ù) |
-D | (none) | $ ´ÙÀ½¿¡ ³ª¿À´Â Å« µû¿ÈÇ¥·Î ¹ÀÎ ¹®ÀÚ¿ ¸ñ·ÏÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¶§ ¸í·É¾î¸¦ ½ÇÇà ½ÃŰÁö´Â ¾Ê½À´Ï´Ù. |
-a | allexport | Á¤ÀÇµÈ ¸ðµç º¯¼ö¸¦ export ½ÃÅ´ |
-b | notify | ¹é±×¶ó¿îµå·Î µ¹´ø ÀÛ¾÷ÀÇ Á¾·á¸¦ Áï½Ã ¾Ë·ÁÁÝ´Ï´Ù (½ºÅ©¸³Æ®¿¡¼´Â ±×·¸°Ô ÀÚÁÖ ¾²ÀÌÁö ¾Ê½À´Ï´Ù) |
-c xxx | (none) | xxx¿¡¼ ¸í·É¾î¸¦ ÀÐ¾î µéÀÓ |
-f | noglob | ÆÄÀϸí È®Àå(globbing)À» ÇÏÁö ¾Ê½À´Ï´Ù. |
-i | interactive | ½ºÅ©¸³Æ®¸¦ »óÈ£ ´ëÈ(interactive) ¸ðµå·Î µ¹°Ô ÇÔ |
-p | privileged | ½ºÅ©¸³Æ®¸¦ "suid"·Î µ¹°Ô ÇÔ(Á¶½ÉÇÒ °Í!) |
-r | restricted | ½ºÅ©¸³Æ®¸¦ Á¦ÇÑµÈ ¸ðµå·Î µ¹°Ô ÇÔ (3.17절 Âü°í). |
-u | nounset | Á¤ÀÇ ¾È µÈ º¯¼ö »ç¿ë½Ã ¿¡·¯ ¸Þ¼¼Áö Ãâ·Â |
-v | verbose | ¸í·É¾î ½ÇÇà Àü¿¡ ±× ¸í·É¾î ÀÚü¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸¿©ÁÜ |
-x | xtrace | -v¿Í ºñ½ÁÇϳª ¸í·É¾î¸¦ È®ÀåÇÕ´Ï´Ù. |
-e | errexit | 0ÀÌ ¾Æ´Ñ °ªÀ¸·Î Á¾·áÇϴ ù¹øÂ° ¸í·É¾î¿¡¼ ½ºÅ©¸³Æ®¸¦ ÁߴܽÃŵ´Ï´Ù. |
-n | noexec | ½ºÅ©¸³Æ®ÀÇ ¸í·É¾îµéÀ» Àб⸸ ÇÏ°í ½ÇÇà½ÃŰÁö´Â ¾Ê½À´Ï´Ù. |
-s | stdin | Ç¥ÁØ ÀԷ¿¡¼ ¸í·É¾î¸¦ ÀÐ¾î µéÀÓ |
-t | (none) | ù¹øÂ° ¸í·É¾î ´ÙÀ½¿¡ ¹Ù·Î Á¾·á |
- | (none) | ¿É¼Ç Ç÷¡±×ÀÇ ³¡. ³ª¸ÓÁö ÀÎÀÚµéÀº ¸ðµÎ À§Ä¡ ÀÎÀÚÀÓ. |
-- | (none) | À§Ä¡ ÀÎÀÚ¸¦ ¾ø¾Û´Ï´Ù. ¸¸¾à¿¡ ÀÎÀÚ°¡ ÁÖ¾îÁö¸é (--arg1arg2), ±×°ÍÀ¸·Î ÀÎÀÚ°¡ ¼³Á¤µË´Ï´Ù. |