½ºÅ©¸³Æ®³ª ½ºÅ©¸³Æ®ÀÇ ÀϺκÐÀ» Á¦ÇÑµÈ ¸ðµå·Î µ¿ÀÛ½ÃŰ´Â °ÍÀº ´Ù¸¥ »óȲ¿¡¼´Â °¡´ÉÇÑ Æ¯Á¤ÇÑ ¸í·É¾î¸¦ ¾²Áö ¸øÇÏ°Ô ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®ÀÇ ±ÇÇÑÀ» Á¦ÇѽÃ۰í, ½ÇÇàÁßÀÎ ½ºÅ©¸³Æ®°¡ ³¢Ä¥ ¼ö ÀÖ´Â °¡´ÉÇÑ ÇÇÇØ¸¦ ÃÖ¼ÒÈ Çϱâ À§ÇÏ´Â º¸¾È»óÀÇ ÀÌÀ¯·Î ÀÌ ¸ðµå°¡ Àû¿ëµË´Ï´Ù.
Á¦ÇÑµÈ ½©¿¡¼ ¸ø ¾²´Â ¸í·É¾îµé
ÀÛ¾÷ µð·ºÅ丮¸¦ ¹Ù²Ù±â À§ÇÑ cdÀÇ »ç¿ë.
PATH, SHELL, BASH_ENV, ENV ȯ°æ º¯¼öÀÇ °ªÀ» ¹Ù²Ù±â.
½© ȯ°æ º¯¼ö ¿É¼ÇÀÎ SHELLOPTS¸¦ Àаųª ¹Ù²Ù±â.
Ãâ·Â ÀçÁöÇâ.
Çϳª ÀÌ»óÀÇ /'sÀ» Æ÷ÇÔÇÑ ¸í·É¾îÀÇ ½ÇÇà.
½©¿¡¼ ´Ù¸¥ ÇÁ·Î¼¼½º·Î ¹Ù²ã°¡±â À§ÇØ exec ºÎ¸£±â.
ºÒ¼øÇÑ ¸ñÀûÀ¸·Î Àå³À» Ä¥ ¼ö ÀÖ°Ô Çϰųª ½ºÅ©¸³Æ®¸¦ µÚÁý¾î ¾þÀ» ´Ù¾çÇÑ ´Ù¸¥ ¸í·É¾îµé.
Á¦ÇÑµÈ ¸ðµåÀÇ ½ºÅ©¸³Æ®¸¦ ºüÁ®³ª°¡·Á°í ÇÏ´Â ¸í·É¾î.
예 3-79. Á¦ÇÑµÈ ¸ðµå·Î ½ºÅ©¸³Æ® µ¹¸®±â
#!/bin/bash # ½ºÅ©¸³Æ® ½ÃÀÛ ºÎºÐÀ» "#!/bin/bash -r"·Î ¹Ù²ã¼ µ¹¸®°Ô µÇ¸é Á¦ÇÑµÈ ¸ðµå·Î µ¿ÀÛÇÕ´Ï´Ù. echo echo "µð·ºÅ丮¸¦ ¹Ù²Ù°Ú½À´Ï´Ù." cd /usr/local echo "ÀÌÁ¦ `pwd` ¿¡ ÀÖ½À´Ï´Ù." echo "Áý(home)À¸·Î µ¹¾Æ°©´Ï´Ù." cd echo "ÀÌÁ¦ `pwd` ¿¡ ÀÖ½À´Ï´Ù." echo # ¿©±â±îÁö ¸ðµç °ÍÀº Ưº°ÇÑ °Ô ¾ø´Â Á¦ÇѵÇÁö ¾ÊÀº ¸ðµå¿´½À´Ï´Ù. set -r # set --restricted µµ °°Àº È¿°ú¸¦ °¡Á®¿É´Ï´Ù. echo "==> ÀÌÁ¦ Á¦ÇÑµÈ ¸ðµå·Î µ¿ÀÛÇÕ´Ï´Ù. <==" echo echo echo "Á¦ÇÑµÈ ¸ðµå¿¡¼ µð·ºÅ丮¸¦ ¹Ù²Ù·Á°í ÇÕ´Ï´Ù." cd .. echo "¾ÆÁ÷µµ `pwd` ¿¡ ÀÖ½À´Ï´Ù." echo echo echo "\$SHELL = $SHELL" echo "Á¦ÇÑµÇ ¸ðµå¿¡¼ ½©À» ¹Ù²Ù·Á°í ÇÕ´Ï´Ù." SHELL="/bin/ash" echo echo "\$SHELL= $SHELL" echo echo echo "Á¦ÇÑµÈ ¸ðµå¿¡¼ Ãâ·ÂÀ» ÀçÁöÇâ ½ÃŰ·Á°í ÇÕ´Ï´Ù." ls -l /usr/bin > bin.files # Ãâ·Â ÀçÁöÇâÀ¸·Î ¸¸µå·Á°í Çß´ø ÆÄÀÏÀ» º¸·Á°í ÇÕ´Ï´Ù. ls -l bin.files echo exit 0 |