<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 
<article lang="ko"> 
<articleinfo> 
<title>BASH ÇÁ·Î±×·¡¹Ö ÀÔ¹® ÇÏ¿ìÅõ</title> 
<AUTHOR> 
<FirstName>Mike</firstname><surname>G</surname> 
</AUTHOR > 
<othercredit role="translator"> 
<firstname>ÇýÁø</firstname> 
<surname>Àü</surname> 
</othercredit> 
<abstract> 
<para> 
ÀÌ ¹®¼­´Â ¼Ð ½ºÅ©¸³Æ® ÇÁ·Î±×·¡¹ÖÀÇ ±âº»ÀûÀÎ ³»¿ëÀ» ¼³¸íÇÏÀÚ´Â ÃëÁö·Î ÀÛ¼ºµÈ °ÍÀÌ¸ç, Á¦¸ñÀ» º¸¸é ¾Ë ¼ö ÀÖ°ÚÁö¸¸ ±âÃÊÀûÀÎ ³»¿ëÀ» ´Ù·ç°í ÀÖ´Ù. ³»°¡ Æ¯º°È÷ ¶Ù¾î³ª°Å³ª Àü¹®ÀûÀÎ ¼Ð ÇÁ·Î±×·¡¸Ó¶ó¼­ ÀÌ·± ±ÛÀ» ¾²°Ô µÇ¾ú´Ù±â º¸´Ù´Â, ³»°¡ ÀÌ ±ÛÀ» ¾²´Â °úÁ¤¿¡¼­ ´Ù¸¥ »ç¶÷¿¡°Ôµµ Áö½ÄÀ» Àü´ÞÇÒ ¼ö ÀÖÀ¸¸ç ³ª¿¡°Ôµµ °øºÎ°¡ µÉ °ÍÀÌ¶ó´Â »ý°¢À¸·Î ÀÌ ±ÛÀ» ¾²±â ½ÃÀÛÇÑ °ÍÀÌ´Ù. Áú¹® »çÇ×ÀÌ³ª Ã·°¡ÇÒ ³»¿ëÀÌ ÀÖ´Ù¸é ¾ðÁ¦¶óµµ ¿¬¶ôÇØ ÁÖ¾úÀ¸¸é ÇÑ´Ù. ±×·± ³»¿ëÀº ÃßÈÄ¿¡ ÀÌ ¹®¼­¿¡ Ãß°¡ÇÒ °ÍÀÌ´Ù. 
</para> 
</abstract> 
</articleinfo> 


<Sect1> 
<Title>½ÃÀÛÇÏ¸é¼­</Title> 

<Sect2> 
<Title>ÀÌ ¹®¼­ÀÇ ÃÖ½Å ¹öÀüÀ» ÀÔ¼öÇÏ·Á¸é?</Title> 
<Para> 
<ULink URL="http://www.linuxdoc.org/HOWTO/Bash-Prog-Intro-HOWTO.html">http://www.linuxdoc.org/HOWTO/Bash-Prog-Intro-HOWTO.html</ULink> 
</Para> 
</Sect2> 

<Sect2> 
<Title>ÀÌ ±ÛÀ» ÀÐ±â Àü¿¡</Title> 
<Para> 
¾Æ¹«¸® BASHÀÇ ±âÃÊÀûÀÎ ³»¿ëÀ» ´Ù·é´Ù°í ÇØµµ, GNU/LINUX ¸í·É Ã¼°è¿¡ °üÇÑ Áö½ÄÀº ÀÖ¾î¾ß ÇÑ´Ù. ¸®´ª½ºÀÇ ±âÃÊ±îÁö Ã¬°Ü ÁÖ´Â ¹®¼­´Â ¾Æ´Ï¹Ç·Î, ¹Ì¸® ¸í·É Ã¼°è¸¦ °øºÎÇØ µÎ°í ÀÌ ¹®¼­¸¦ ÀÐµµ·Ï ÇÏÀÚ.....¶ó°í °ÅÃ¢ÇÏ°Ô ¶°µé°í´Â ÀÖÁö¸¸, ls, mv °°Àº ±âº» ¸í·ÉÇÏ°í, vi ¾µ ÁÙ¸¸ ¾Ë¸é µÇ´Ï ÇÏ³ªµµ ½Å°æ ¾µ °Í ¾ø´Ù. ±×Á¤µµ¸¦ ¸ð¸£´Â ºÐÀÌ kldp¿¡ ¿Í °è½Ç °¡´É¼ºÀº µå¹°´Ù°í »ý°¢ÇÑ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>ÀÌ ¹®¼­°¡ ÇÊ¿äÇÑ »ç¶÷Àº </Title> 

<Para> 
ÀÌ ¹®¼­´Â ´ÙÀ½°ú °°Àº »ç¶÷µéÀ» À§ÇÑ °ÍÀÌ´Ù. 
<ItemizedList> 
<ListItem> <Para> ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¾ÆÀÌµð¾î¸¦ ¼Ð ½ºÅ©¸³Æ®·Î ±¸ÇöÇØ º¸°íÀÚ ÇÏ´Â »ç¶÷ </Para> </ListItem> 
<ListItem> <Para> ¼Ð ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ ¸·¿¬ÇÑ °³³äÀº ÀÖÁö¸¸ Á¤¸®¸¦ ÇØ ÁÙ ÇÊ¿ä°¡ ÀÖÀ» ¶§ </Para> </ListItem> 
<ListItem> <Para> Á÷Á¢ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ±â¿¡ ¾Õ¼­ ¿¹Á¦¿Í Âü°íÇÒ ¸¸ÇÑ ¸»µéÀ» ÀÐ¾î º¸°í ½ÍÀ» ¶§ </Para> </ListItem> 
<ListItem> <Para> DOS/Windows »ç¿ëÀÚ·Î¼­, ¹èÄ¡ ÆÄÀÏÀ» ¸¸µé¾î º¸°íÀÚ ÇÒ ¶§ </Para> </ListItem> 
<ListItem> <Para> ³ª¿Í ÀÖ´Â ÇÏ¿ìÅõ¶õ ÇÏ¿ìÅõ´Â ´Ù ÀÐ¾î ºÁ¾ß Á÷¼ºÀÌ Ç®¸± ¸¸Å­ È£»ç°¡ÀÏ ¶§ </Para> </ListItem> 
<ListItem> <Para> ±×¸®°í ¾Æ¸¶µµ, À§¿¡ ³ª¿Í ÀÖ´Â °ü½ÉÀÖ´Â »ç¶÷µé°ú´Â »ó°ü¾øÀÌ, ¼÷Á¦ ¶§¹®¿¡ º¸´Â »ç¶÷µµ ÀÖÀ» Áö ¸ð¸£°Ú´Ù. ^_^ </Para> </ListItem> 
</ItemizedList> 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>¾ÆÁÖ °£´ÜÇÑ ½ºÅ©¸³Æ®!! 
</Title> 
<Para> 
ÀÌ ÇÏ¿ìÅõ´Â ¿¹Á¦¸¦ ¹ÙÅÁÀ¸·Î ¼Ð ½ºÅ©¸³Æ® ÇÁ·Î±×·¡¹ÖÀÇ ¹æ¹ýÀ» Á¦½ÃÇÒ °ÍÀÌ´Ù. 
</Para> 
<Para> 
¸ÕÀú ÀÌÇØÇÏ±â ½¬¿î °£´ÜÇÑ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© ±âº» ¹®¹ýÀ» ¾Ë¾Æº¸ÀÚ. 
</Para> 
<Sect2> 
<Title>hello world¸¦ Ãâ·ÂÇÏ´Â ½ºÅ©¸³Æ® </Title> 
<Para> 
<Screen> 
#!/bin/bash 
echo Hello World 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â ´ÜÁö µÎ ÁÙ·Î µÇ¾î ÀÖÀ» »ÓÀÌÁö¸¸, ½ºÅ©¸³Æ®·Î¼­ °®Ãß¾î¾ß ÇÒ ±âº»ÀûÀÎ ¿ä¼Ò´Â °®Ãß°í ÀÖ´Ù. ¸ÕÀú Ã¹ ¹øÂ° ÁÙ¿¡¼­´Â ÀÌ ÆÄÀÏÀ» ½ÇÇàÇÏ±â À§ÇØ ÇÊ¿äÇÑ ÇÁ·Î±×·¥ÀÇ °æ·Î¸¦ ¸í±âÇß´Ù. ¾Æ¸¶µµ ´Ùµé ¾Ë°í ÀÖ°ÚÁö¸¸, bash¶õ ¼ÐÀÇ ÀÏÁ¾ÀÌ¸ç, /bin/bash´Â ÀÌ ¼ÐÀÇ ½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â °æ·ÎÀÌ´Ù. ¼ÐÀº ¸í·É¾î ÇØ¼®±â·Î µé¾î¿À´Â ¸í·ÉÀ» ÇØ¼®ÇÏ¿© ÀÌ°ÍÀÌ ³»ºÎ ¸í·É¾î¶ó¸é ¹Ù·Î ½ÇÇàÀ», ¿ÜºÎ ¸í·É¾î¶ó¸é ÇØ´çÇÏ´Â ½ÇÇà ÆÄÀÏÀ» Ã£¾Æ ¸Þ¸ð¸®¿¡ ÇÊ¿äÇÑ ºÎºÐÀ» ÀûÀçÇÑ´Ù. ÀÌ ºÎºÐÀÌ ¾ø´Ù¸é ´ÙÀ½¿¡ ¿À´Â ¸í·ÉÀ» ½ÇÇàÇÒ ¼ö´Â ¾øÀ» °ÍÀÌ´Ù. 
</Para> 
<Para> 
µÎ ¹øÂ° ÁÙÀº ½ÇÁ¦ÀûÀÎ ¸í·ÉÀ» ³»¸®´Â ºÎºÐÀÌ´Ù. ¿©±â¿¡¼­´Â 'Hello World'¶ó´Â ¸»À» ÅÍ¹Ì³Î¿¡ Ãâ·ÂÇÏ¶ó´Â ¸í·ÉÀ» ³»·È´Ù. ¹°·Ð ´Ù¸¥ ¸»·Î ¹Ù²Ù¾îµµ ÁÁÀ» °ÍÀÌ´Ù. 
</para> 
<para> 
¿©´ã! ¿ì¸®ÀÇ ¸®´©½º Åä¹ßÁî ¾ÆÀú¾¾°¡ Ã³À½ ¸¸µé¾ú´ø °Íµµ È­¸é¿¡ ¹®ÀåÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ¾ú´Ù. ¾Æ¸¶ ±× ÇÁ·Î±×·¥ÀÇ ¾÷¹öÀüÀº 
'sarah is the best'¶ó´Â ¹®ÀåÀÌ¾ú´Ù³ª ¹¹¶ó³ª..... (»ç¶ó´Â ¸®´©½º ¾ÆÀú¾¾ÀÇ µ¿»ý ÀÌ¸§ÀÌ´Ù.) 
</Para> 
<Para> 
¸¸¾à¿¡ <Emphasis remap="it">./hello.sh: Command not found.</Emphasis> ¿Í °°Àº ²ÃÀ» º¸°Ô µÇ¾ú´Ù¸é, ¾Æ¸¶µµ Ã¹ ¹øÂ° ÁÙÀÇ '&num;!/bin/bash'°¡ ¹®Á¦ÀÏ °ÍÀÌ´Ù. 'whereis bash'³ª 'finding bash' ¸í·ÉÀ» ³»·Á bashÀÇ °æ·Î¸¦ È®ÀÎÇØ º¸ÀÚ. ±×¸®°í ÀÌ °æ·Î¸¦ Ã¹ ¹øÂ° ÁÙ¿¡ ±âÀÔÇÑ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¾öÃ»³ª°Ô °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ® </Title> 
<Para> 
<Screen> 
#!/bin/bash 
tar -cZf /var/my-backup.tgz /home/me/ 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â ÅÍ¹Ì³Î¿¡ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ´Â ´ë½Å »ç¿ëÀÚÀÇ È¨ µð·ºÅä¸®¸¦ tar-ballÇü½ÄÀ¸·Î ¹­´Â´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ½ÇÁ¦·Î »ç¿ëÇÒ ¸¸ÇÑ °ÍÀº ¾Æ´Ï´Ù. ¸ÕÀú »ç¿ëÀÚ¿¡ µû¶ó °æ·Î¸¦ ÀÏÀÏÈ÷ Á¶ÀýÇØ¾ß ÇÏ¸ç, ¿©·¯ »ç¶÷ÀÌ »ç¿ëÇÏ¸é ¹é¾÷ ÆÄÀÏÀÌ ¼­·Î µ¤¾î ¾²°Ô µÇ¾î ¹é¾÷ÀÌ ¸Á°¡Áú ¼öµµ ÀÖ´Ù. ÀÌ·± ¹é¾÷ ½ºÅ©¸³Æ®¸¦ ½ÇÁ¦·Î »ç¿ëÇÒ ¸¸ ÇÏ°Ô ¸¸µé¾î ³õÀº °ÍÀÌ µÞ ºÎºÐ¿¡ ³ª¿Ã °ÍÀÌ´Ù. ÀÌ°ÍÀº ±×³É ¿¹Á¦ÀÏ »ÓÀÌ´Ï±î, ÇÑ¹ø ½ÃÇèÇØ º¸°í´Â ¹Ù·Î »èÁ¦ÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>¸®µð·º¼ÇÀÇ ¸ðµç °Í </Title> 
<Sect2> 
<Title>Á¤ÀÇ¿Í ±âº» ¼³¸í </Title> 
<Para> 
stdin(Ç¥ÁØ ÀÔ·Â), stdout(Ç¥ÁØ Ãâ·Â), stderr(Ç¥ÁØ ¿¡·¯)¶ó´Â ¼¼ °¡ÁöÀÇ 
ÆÄÀÏ µð½ºÅ©¸³ÅÍ°¡ ÀÖ´Ù. ÆÄÀÏ µð½ºÅ©¸³ÅÍ°¡ ¹«¾ùÀÎÁö ÀÏÀÏÈ÷ ¼³¸íÇÏ±â´Â 
±×·¸°í.... °£´ÜÇÏ°Ô ÀÌÇØÇØ º¸ÀÚ. ¾î¶² ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ» ¶§ 
È­¸é¿¡ ÁÖ·ç·è ÇÏ°í ¿øÇÏ´Â °á°ú°¡ ¶ß´Â °ÍÀÌ Ç¥ÁØ Ãâ·ÂÀÌ´Ù. 
¾î¶² ÇÁ·Î±×·¥À» ½ÇÇàÇÏ±â À§ÇØ ²À ÇÊ¿äÇÑ ¿ä¼Ò¸¦ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ 
°°ÀÌ ÀÔ·ÂÇØ ÁÖ´Â °ÍÀÌ Ç¥ÁØ ÀÔ·ÂÀÌ´Ù. ÀÌ Á¤µµ¸¸ ¾Ë°í ½ÃÀÛÇÏ¸é µÉ °ÍÀÌ´Ù. 
</Para> 
<Para> 
¸ÕÀú ´ÙÀ½°ú °°Àº ³»¿ëÀ» °£´ÜÈ÷ ½ÇÇàÇØ º¸ÀÚ. ¹é¹®ÀÌ ºÒ¿©ÀÏ°ß, ¹é°ßÀÌ ºÒ¿©ÀÏÇàÀÎ ¹ý. ^^ 
</para> 
<OrderedList> 
<ListItem> <Para> Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â </Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â </Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â </Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â </Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â </Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â</Para> </ListItem> 
<ListItem> <Para> Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â </Para> </ListItem> 
</OrderedList> 
<Para> 
¸ÕÀú °£´ÜÈ÷ ¸»ÇØµÎ°Ú´Âµ¥, ¹öÆÛ¿¡ ³²¾Æ ÀÖ´Â Ç¥ÁØ Ãâ·ÂÀÌ³ª Ç¥ÁØ ¿¡·¯¸¦ È­¸é¿¡ Ãâ·ÂÇØ º¸´Â °ÍÀº ¾ÆÁÖ ½±Áö¸¸, ±× ½Ãµµ¿Í µ¿½Ã¿¡ ³»¿ëÀÌ ³¯¾Æ°£´Ù´Â Á¡À» »ó±âÇÏÀÚ. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â </Title> 
<Para> 
ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¸¦ ÆÄÀÏ¿¡ ¹Ù·Î ÀúÀåÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¾ðÁ¦ ¾²¸é ÁÁÀ¸³Ä ÇÏ¸é.... ±×·¸´Ù, ¼öÄ¡ÇØ¼® ¼÷Á¦ ÇÒ ¶§ ÁÙÁÙÀÌ ¿¡·¯°ª ³ª¿À´Â °Í, ÀÌ ¹æ¹ýÀ¸·Î ÇÏ¸é ÆÄÀÏ¿¡ ±â·ÏÇÏ´Â ÄÚµå ¾øÀÌµµ, È­¸é Ä¸Ã³ µûÀ§ ÇÏÁö ¾Ê¾Æµµ ¾ÆÁÖ °£´ÜÇÏ°Ô ÇØ°áµÈ´Ù. ^^ 
</para> 
<para> 
<Screen> 
ls -l > ls-l.txt 
</Screen> 
</para> 
<para> 
ÀÌ ³»¿ëÀ» ½ÇÇàÇÏ°í ³ª¸é, È­¸é¿¡ 'ls -l' ¸í·ÉÀÇ ½ÇÇà °á°ú°¡ Ãâ·ÂµÇ´Â ´ë½Å 'ls-l.txt'¶ó´Â ÀÌ¸§ÀÇ ÆÄÀÏÀÌ »ý±ä´Ù. ÀÌ ÆÄÀÏÀ» ¿­¾î º¸¸é ¿ø·¡ 'ls -l' À» ½ÇÇàÇßÀ» ¶§ÀÇ °á°ú°¡ ±×´ë·Î ÀúÀåµÇ¾î ÀÖ´Ù. ÀÌ·± ÀÌ¸§ÀÇ ÆÄÀÏÀÌ ¿ø·¡ ÀÖ¾ú´Ù¸é, ÆÄÀÏÀÇ ¾ÕºÎºÐ¿¡ ±×´ë·Î 
Ãâ·Â ³»¿ëÀÌ µ¤¾î ¾º¿öÁ® ¹ö¸®´Ï ÁÖÀÇÇÏÀÚ. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â </Title> 

<Para> 
¹æ¹ýÀº ¸¶Âù°¡ÁöÀÌ´Ù. ÀÌ °æ¿ì¿¡´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â °Í »ÓÀÌ´Ù. ¿ª½Ã °°Àº ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÇØ º¸ÀÚ. 
</para> 
<para> 
<Screen> 
grep da * 2> grep-errors.txt 
</Screen> 
</para> 
<para> 
¾Õ¼­ Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³ÂÀ» ¶§¿Í ¸¶Âù°¡Áö·Î, 'grep-errors.txt' ÆÄÀÏÀÌ ¸¸µé¾îÁö¸ç È­¸é ´ë½Å ÀÌ ÆÄÀÏ ¾È¿¡ ¿¡·¯ ¸Þ½ÃÁö°¡ ±â·ÏµÈ´Ù. ¿©±â¿¡¼­ ¼ýÀÚ 2´Â Ç¥ÁØ ¿¡·¯¸¦ ¶æÇÏ´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍÀÌ´Ù. 2°¡ µé¾î°¡Áö ¾ÊÀ¸¸é Ç¥ÁØ Ãâ·ÂÀÌ ÀúÀåµÈ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â </Title> 
<Para> 
ÀÌ ¹æ¹ýÀº ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ» ¶§ÀÇ Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ Ãâ·Â µð½ºÅ©¸³ÅÍ ´ë½Å Ç¥ÁØ ¿¡·¯¿Í °°Àº ¹æ½ÄÀ¸·Î Ãâ·ÂÇÏ´Â °ÍÀÌ´Ù. 
</para> 
<para> 
<Screen> 
grep da * 1>&2 
</Screen> 
</para> 
<para> 
ÀÌ¿Í °°Àº ¹æ¹ýÀ¸·Î ¸í·ÉÀÇ Ç¥ÁØ Ãâ·ÂÀÌ Ç¥ÁØ ¿¡·¯¿¡°Ô ³Ñ°ÜÁ³´Ù. ±×·±µ¥ Á¤¸» ÀÌ°Í¸¸À¸·Î ÀÌÇØ°¡ ÂøÂø °£´Ù¸é Á¤¸» ÀÌ ¹®¼­ º¼ ÇÊ¿ä ¾ø´Ù. ¾îÂ¿ ¼ö ¾øÀÌ Ãß°¡ ¼³¸íÀ» ´Þ¾Æ¾ß¸¸ ÇÏ´Â ºÎºÐÀÎµ¥..... °£´ÜÈ÷ ¼³¸íÇÏ°Ú´Ù. 'grep da *'´Â ¿ì¸®°¡ ÀÍÈ÷ ¾Ë°í ÀÖ´Â ´Ü¼øÇÑ ¸í·ÉÀÌ´Ù. ÀÌ µÚ¿¡ ºÙÀº ¼ýÀÚ´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍÀÌ¸ç Æ¯È÷ 1Àº Ç¥ÁØ Ãâ·ÂÀ» ÀÇ¹ÌÇÑ´Ù. 2´Â Ç¥ÁØ ¿¡·¯ µÇ°Ú´Ù. ±×·±µ¥ »ç½Ç, Á¶±Ý¸¸ ½Å°æ ¾²¸é ¾Ë ¼ö ÀÖ´Â ºÎºÐÀÌÁö¸¸ '1>'´Â ±×³É '>'¿Í °°Àº °ÍÀÌ´Ù. ÀÌÀ¯´Â °¢ÀÚ »ý°¢ÇØ º¸ÀÚ. ±Ý¹æ °á·ÐÀÌ ³ª¿Ã °ÍÀÌ´Ù. Âü°í·Î 0Àº Ç¥ÁØ ÀÔ·Â, 3 ÀÌÈÄ´Â ´Ù¸¥ ÆÄÀÏÀÌ ÀÔÃâ·Â¿ëÀ¸·Î ÇÒ´çµÉ ¶§ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ±×³É Àû¾î ³ÖÀ¸¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. 
</para> 
<para> 
¸®µð·º¼ÇÀ» '2>&1'°ú °°ÀÌ ÁÖ¸é Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·Â°ú °°Àº °÷À¸·Î º¸³»¶ó´Â ¶æÀÌ¸ç, '1>&2'ÀÇ °æ¿ì´Â Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯¿Í °°Àº °÷À¸·Î º¸³»¶ó´Â ¶æÀÌ´Ù. 
</para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â </Title> 
<Para> 
À§ ³»¿ëÀ» Àß ¼··ÆÇØ ¿Ô´Ù¸é »ý°¢ÇØ º¼ ÇÊ¿äµµ ¾ø´Â ºÎºÐÀÌ´Ù. 
</para> 
<para> 
<Screen> 
grep * 2>&1 
</Screen> 
</para> 
<para> 
ÀÚ, Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»¾î ÇÔ²² Ãâ·ÂÇÏ¿´´Ù. ¸¸¾à¿¡ ÀÌ °á°ú¸¦ ÆÄÀÌÇÁ¸¦ ÅëÇØ more³ª less µîÀ¸·Î º¸³½´Ù¸é, Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯°¡ µÚ¼¯ÀÎ ÇüÅÂ¸¦ º¸°Ô µÉ °ÍÀÌ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â </Title> 
<Para> 
ÀÌ ³»¿ë ¿ª½Ã À§¿Í ¶È.°°.´Ù. ¶ó°í ºÁµµ ¹«¹æÇÏÁö¸¸..... ÀÌ°ÍÀ» ÇÑ¹ø¿¡ ÆÄÀÏ·Î º¸³»´Â ºÎºÐÀº ÇÔ²² º¸µµ·Ï ÇÏÀÚ. 
</para> 
<para> 
<Screen> 
rm -f $(find / -name core) &> /dev/null 
</Screen> 
</para> 
<para> 
µû·ÎÀÌ µð½ºÅ©¸³ÅÍ¸¦ »ç¿ëÇÒ ÇÊ¿ä ¾øÀÌ '&>'·Î ¸®µð·º¼Ç ÇÏ´Â °Í ¸¸À¸·Î ÇØ°áµÈ´Ù. ÀÌ ¹æ½ÄÀº Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ÇÔ²² ÆÄÀÏ·Î º¸³¾¶§ »ç¿ëÇÑ´Ù. ÀÌ ¸í·ÉÀ» Å©·Ð¿¡ ³Ö¾î µÎ¸é, ÀÏÁ¤ÇÑ ½Ã°£¸¶´Ù ¸ðµç µð·ºÅä¸®¿¡ ÀÖ´Â core ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. ¿©±â¿¡¼­´Â Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ¸ðµÎ '/dev/null'·Î º¸³» ½ÇÁ¦·Î´Â ³¯·Á ¹ö¸®Áö¸¸, ±»ÀÌ ÀÌ ³»¿ëÀ» È®ÀÎÇÏ°í ½Í´Ù¸é Àû´çÇÑ ÆÄÀÏ·Î Ãâ·ÂÇÏ¿© »ìÆìº¸µµ·Ï ÇÏÀÚ. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>ÆÄÀÌÇÁ(pipes) 
</Title> 

<Para> 
ÀÌ Àå¿¡¼­´Â ÆÄÀÌÇÁ¸¦ »ç¿ëÇÏ´Â °£´ÜÇÏ¸é¼­µµ ½ÇÁúÀûÀÎ ¿¹¸¦ µé¾î º¸°Ú´Ù. 
</Para> 

<Sect2> 
<Title>ÆÄÀÌÇÁ·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖÀ»±î </Title> 
<Para> 
ÆÄÀÌÇÁ´Â Á¤¸» °£´ÜÇÑ ¹æ¹ýÀ¸·Î, ÇÑ ÇÁ·Î±×·¥¿¡¼­ÀÇ Ãâ·ÂÀ» ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ ÀÔ·ÂÀ¸·Î º¸³½´Ù. ÀÌ·¸°Ô "Èê·Á º¸³»±â"¶§¹®¿¡ ÆÄÀÌÇÁ´Ù.... ¶ó°í »ý°¢ÇÏ¸é µü ¸ÂÀ» °ÍÀÌ´Ù. ^^ 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : sed¸¦ ÀÌ¿ëÇÑ ¾ÆÁÖ °£´ÜÇÑ ÆÄÀÌÇÁ ¿¹Á¦</Title> 
<Para> 
´ÙÀ½Àº ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇÏ´Â °¡Àå °£´ÜÇÑ ½Ç·ÊÀÌ´Ù. 
</para> 
<Screen> 
ls -l | sed -e "s/[aeio]/u/g" 
</Screen> 
<para> 
±×·¯¸é ÇÑ¹ø À§ ³»¿ëÀ» ÂùÂùÈ÷ »ìÆìº¸ÀÚ. ¸ÕÀú 'ls -l' ¸í·ÉÀÌ ½ÇÇàµÇ¾ú´Ù. ±×¸®°í ÀÌ °á°ú´Â È­¸é¿¡ Ãâ·ÂµÇ´Â ´ë½Å, ÆÄÀÌÇÁ¸¦ Å¸°í sed ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ¾î ´Ù½Ã ÇÑ¹ø Ã³¸®µÈ ÈÄ È­¸é¿¡ Ãâ·ÂµÈ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : 'ls -l *.txt'ÀÇ »ö´Ù¸¥ ÇüÅÂ</Title> 

<Para> 
¾Æ¸¶µµ ÀÌ ¹æ¹ýÀº 'ls -l *.txt'¸¦ »ç¿ëÇÏ´Â °Í º¸´Ù´Â ±î´Ù·Î¿î °ÍÀÌ°ÚÁö¸¸, ÆÄÀÌÇÁÀÇ »ç¿ë¿¡ ´ëÇØ¼­¸¸Å­Àº È®½ÇÈ÷ º¸¿©ÁÙ ¼ö ÀÖ´Ù. 
</para> 
<Screen> 
ls -l | grep "\.txt$" 
</Screen> 
<para> 
¿©±â¼­ 'ls -l'ÀÇ °á°ú´Â grepÀ¸·Î ³Ñ¾î°¡, "\.txt$"¶ó´Â Á¶°Ç¿¡ ¸Â´Â °ª¸¸À» È­¸é¿¡ Ãâ·ÂÇÑ´Ù. ÀÌ °á°ú´Â 'ls -l *.txt'¿Í °°´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>º¯¼ö </Title> 

<Para> 
´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î, ¼Ð ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§µµ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. °Ô´Ù°¡ bash¿¡¼­´Â µ¥ÀÌÅÍ Å¸ÀÔÀ» ¹Ì¸® Á¤ÇÒ ÇÊ¿ä ¾øÀÌ, ¼ýÀÚ³ª ¹®ÀÚ, È¤Àº ¹®ÀÚ¿­À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. 
</Para> 

<Para> 
¾î¶² º¯¼ö°¡ Ã³À½ »ç¿ëµÇ´Â ¼ø°£ ÂüÁ¶°¡ »ý¼ºµÇ¹Ç·Î, º¯¼ö¸¦ µû·Î ¼±¾ðÇÒ ÇÊ¿ä´Â ¾ø´Ù. 
</Para> 

<Sect2> 
<Title>¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÑ Hello World! Ãâ·Â 
</Title> 

<Para> 
<Screen> 
#!/bin/bash 
STR="Hello World!" 
echo $STR 
</Screen> 
</Para> 

<Para> 
2¹øÂ° ÁÙ¿¡¼­ STRÀÌ¶ó´Â ÀÌ¸§ÀÇ º¯¼ö°¡ »ý¼ºµÇ¸ç "Hello World!"¸¦ ¹Þ¾Ò´Ù. ÀÌ º¯¼ö¿¡ µé¾îÀÖ´Â °ªÀ» »ç¿ëÇÏ±â À§ÇØ¼­´Â '$'¸¦ º¯¼ö ÀÌ¸§ ¾Õ¿¡ »ç¿ëÇÏ¿© ÀÌ°ÍÀÌ º¯¼ö¶ó´Â »ç½ÇÀ» ¾Ë·Á ÁÖ¾î¾ß ÇÑ´Ù. º¯¼ö ÀÌ¸§ ¾Õ¿¡ '$'¸¦ »©³õ¾ÒÀ» °æ¿ì¿¡´Â ¿¹»óÇß´ø °Í°ú´Â ´Ù¸¥ °á°ú°¡ ³ª¿Ã °ÍÀÌ´Ù. ¿¹ÄÁ´ë, ÀÌ·± °æ¿ì ¼ÐÀº ÀÌ º¯¼ö ÀÚÃ¼¸¦ ¹®ÀÚ¿­·Î ÀÎ½ÄÇØ ¹ö¸®°Å³ª ÇÏ±â ¶§¹®¿¡ ÁÖÀÇÇØ¾ß ÇÑ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : ¿©ÀüÈ÷ °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ® </Title> 
<Para> 
<Screen> 
#!/bin/bash 
OF=/var/my-backup-$(date +%Y%m%d).tgz 
tar -cZf $OF /home/me/ 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â ¾Õ¼­ »ìÆìº» °Í°ú´Â ÁúÀûÀ¸·Î ´Ù¸¥ ¹°°ÇÀÌ´Ù. ÀÏ´Ü ÀÌ°ÍÀº »ý¼º ³¯Â¥°¡ ÆÄÀÏ ÀÌ¸§ÀÌ µÇ±â ¶§¹®¿¡ ÆÄÀÏ¸íÀÌ Áßº¹µÇÁö 
¾Ê¾Æ, ¹é¾÷ÇÏ±â ¿ëÀÌÇÏ´Ù. µÎ ¹øÂ° ÁÙÀÇ '$(date +&percnt;Y&percnt;m&percnt;d)'°¡ ¹Ù·Î ±× ºÎºÐÀÌ´Ù. ¸ÅÀÏ ÆÄÀÏ ÀÌ¸§ÀÌ ´Þ¶óÁø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. date´Â ¿øÇÏ´Â ´ë·Î ¿É¼ÇÀ» Á¶ÀýÇÏ¿© ´Ù¸¥ Æ÷¸ËÀ¸·Î Ãâ·ÂÇÒ ¼öµµ ÀÖÀ¸´Ï È®ÀÎÇØ º¸ÀÚ. ¶ÇÇÑ ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ¸í·É ½ÇÇà °úÁ¤ÀÌ È­¸é¿¡ ±×´ë·Î Ãâ·ÂµÈ´Ù´Â Á¡µµ Âü°íÇØ µÎÀÚ. 
</Para> 
<Para> 
Âü°íÇÒ ¸¸ÇÑ °ÍÀ» Á» º¸ÀÚ. ´ÙÀ½ ³»¿ëÀ» °¢°¢ Á÷Á¢ ½ÇÇàÇØ º¸ÀÚ. 
</Para> 
<Para> 
<screen> 
echo ls 
echo $(ls) 
</screen> 
</Para> 
<para> 
¹«¾ùÀÌ ´Ù¸¥Áö È®ÀÎÇÏ°í, ¿Ö ´Ù¸¥Áöµµ ¾Ë¾Æº¸ÀÚ. 
</para> 
</Sect2> 

<Sect2> 
<Title>Áö¿ª º¯¼ö </Title> 
<Para> 
Áö¿ª º¯¼ö´Â <Emphasis remap="it">local</Emphasis>ÀÌ¶ó´Â Å°¿öµå¸¦ 
»ç¿ëÇÏ¿© »ý¼ºµÈ´Ù. 
</Para> 
<Para> 
<Screen> 
#!/bin/bash 
HELLO=Hello 
function hello { 
local HELLO=World 
echo $HELLO 
} 
echo $HELLO 
hello 
echo $HELLO 
</Screen> 
</Para> 
<Para> 
ÀÌ ¿¹Á¦´Â Áö¿ª º¯¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ °ÍÀÌ´Ù. ÀÌ¹Ì ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ Á¶±ÝÀÌ¶óµµ ´Ù·ç¾î º¸¾Ò´Ù¸é ÀÌ·± ¹æ½ÄÀÇ ÄÚµå¸¦ º» ÀûÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¿©±â¿¡¼­´Â ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¹æ¹ý¿¡µµ ÁÖÀÇÇÏÀÚ. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>Á¶°Ç¹® </Title> 
<Para> 
Á¶°Ç¹®Àº ¾î¶² ÀÏÀ» ¼öÇàÇÏ´Â°¡ È¤Àº ÇÏÁö ¾Ê´Â°¡ÀÇ ¹®Á¦¸¦ Ç¥ÇöÇÏ±â À§ÇÑ ¹æ¹ýÀÌ´Ù. 
</Para> 

<Sect2> 
<Title>¿äÁ¡¸¸ ¸»ÇÏÀÚ¸é </Title> 
<Para> 
Á¶°Ç¹®Àº ´Ù¾çÇÑ Çü½ÄÀ¸·Î Ç¥ÇöÇÒ ¼ö ÀÖÁö¸¸ °¡Àå ´ëÁßÀûÀ¸·Î »ç¿ëÇÏ´Â °ÍÀº ´ÙÀ½°ú °°Àº Çü½ÄÀÌ´Ù. 
</para> 
<para> 
<Emphasis remap="bf">if</Emphasis> <Emphasis remap="it">expression</Emphasis> <Emphasis remap="bf">then</Emphasis> <Emphasis remap="it">statement</Emphasis> 
</para> 
<para> 
'statement'´Â 'expression'¿¡ ÇØ´çÇÏ´Â Á¶°ÇÀÌ ÃæÁ·µÇ¾úÀ» ¶§¸¸ ½ÇÇàµÈ´Ù. C¾ð¾î Ã¥ »ç¼­ Ã¹ Àå¸¸ º¸°í ¼Õ ¾È´í ºÐÀÌ¶ó ÇÒÁö¶óµµ 
±¸°æÇØ º¸¼ÌÀ» ¸¸ÇÑ Çü½ÄÀÌ´Ù. 
</Para> 
<Para> 
Á¶°Ç¹®ÀÇ Çü½Ä Áß¿¡´Â ´ÙÀ½°ú °°Àº °Íµµ ÀÖ´Ù. 
</para> 
<para> 
<Emphasis remap="bf">if</Emphasis> <Emphasis remap="it">expression</Emphasis> 
<Emphasis remap="bf">then</Emphasis> <Emphasis remap="it">statement1</Emphasis> <Emphasis remap="bf">else</Emphasis> <Emphasis remap="it">statement2</Emphasis>. 
</para> 
<para> 
ÀÌ°Í ¿ª½Ã ¸¹ÀÌµé º¸½Å ÇüÅÂÀÌ°ÚÁö¸¸, 'expression'¿¡ ÇØ´çÇÏ´Â Á¶°ÇÀÌ ÃæÁ·µÇ¸é 'statement1'ÀÌ ½ÇÇàµÇ°í, ±×·¸Áö ¾ÊÀ¸¸é 'statement2'°¡ ½ÇÇàµÇ´Â ¹æ½ÄÀÌ´Ù. 
</Para> 

<Para> 
¾Õ¼­ ¸»ÇÑ °Í º¸´Ù Á¶±Ý ´õ ÁøÈ­µÈ ÇüÅÂ¸¦ »ìÆìº¸ÀÚ¸é ´ÙÀ½°ú °°´Ù. 
<Emphasis remap="bf">if</Emphasis> <Emphasis remap="it">expression1</Emphasis> 
<Emphasis remap="bf">then</Emphasis> <Emphasis remap="it">statement1</Emphasis> 
<Emphasis remap="bf">else if</Emphasis> <Emphasis remap="it">expression2</Emphasis> <Emphasis remap="bf">then</Emphasis> <Emphasis remap="it">statement2</Emphasis> 
<Emphasis remap="bf">else</Emphasis> <Emphasis remap="it">statement3</Emphasis>. 
ÀÌ ¹æ½Ä¿¡¼­µµ 'expression1'À» ÃæÁ·ÇÏ¸é 'statement1'ÀÌ ½ÇÇàµÈ´Ù´Â Á¡¿¡¼­´Â ¾Õ¼­ »ìÆìº» ¿¹¿Í °°´Ù. ±×·¯³ª 'expression1'ÀÌ ÃæÁ·µÇÁö ¾ÊÀ» °æ¿ì¿¡´Â 'expression2'¶ó´Â »õ·Î¿î Á¶°ÇÀÌ ³ªÅ¸³­´Ù. ¸¸ÀÏ ÀÌ·¸°Ô 'expression2'¿Í ºñ±³ÇÏ¿© Á¶°ÇÀ» ÃæÁ·ÇÏ¸é statement2'°¡ ½ÇÇàµÇÁö¸¸ ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â 'statement3'ÀÌ ½ÇÇàµÈ´Ù. ÀÌ °úÁ¤Àº 'else if'¶ó´Â ³à¼®À» ÀÌ¿ëÇÏ´Âµ¥, 'else if'¸¦ ¾ó¸¶µçÁö Ãß°¡ÇÏ¿© ´Ù¾çÇÑ ºÐ±â¸¦ ¸¸µé ¼ö ÀÖ´Ù. 
</Para> 
<Para> °£´ÜÇÑ ¹®¹ý Çü½ÄÀ» º¸µµ·Ï ÇÏÀÚ. </Para> 
<Para> bash¿¡¼­ if¸¦ »ç¿ëÇÒ ¶§¿¡´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ÀÛ¼ºÇÑ´Ù. </Para> 
<Para> if &lsqb;expression]; </Para> 
<Para> then </Para> 
<Para> ('expression'ÀÌ ÂüÀÏ¶§ ½ÇÇàÇÒ ÄÚµå ) </Para> 
<Para> fi </Para> 
</Sect2> 
<Sect2> 
<Title>¿¹Á¦ : ´Ü¼øÇÑ if - then Á¶°Ç¹® </Title> 
<Para> 
<Screen> 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
fi 
</Screen> 
</Para> 
<Para> 
ÀÌ ÄÚµå´Â if µÚ¿¡ ³ª¿Â Á¶°ÇÀÌ ÂüÀÏ¶§ 'expression evaluated as true' ¶ó´Â ¹®ÀåÀ» Ãâ·ÂÇÏ´Â ³»¿ëÀÌ´Ù. º¸¸é ¾Ë°ÚÁö¸¸ Á¶°Ç µÚ¿¡´Â 'then'ÀÌ¶ó°í ÀûÇôÀÖ°í, Á¶°ÇÀÌ ÂüÀÏ¶§ ½ÇÇàÇÒ ³»¿ëÀ» ÀûÀº µÚ¿¡´Â 'fi'¶ó°í Àû¾î Á¶°Ç¹®ÀÌ ³¡³µÀ½À» ¾Ë·ÁÁØ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : ´Ü¼øÇÑ if-then-else Á¶°Ç¹®</Title> 
<Para> 
<Screen> 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi 
</Screen> 
</Para> 
</Sect2> 
<Sect2> 
<Title>¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÏ¿© </Title> 
<Para> 
<Screen> 
#!/bin/bash 
T1="foo" 
T2="bar" 
if [ "$T1" = "$T2" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi 
</Screen> 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>for, while, untilÀ» »ç¿ëÇÏ´Â ¼øÈ¯¹® 
</Title> 

<Para> 
¿©±â¿¡¼­´Â for, while, untilÀ» »ç¿ëÇÑ ¼øÈ¯¹®¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù. 
</Para> 

<Para> 
<Emphasis remap="bf">for</Emphasis>¸¦ »ç¿ëÇÑ ¼øÈ¯¹®ÀÇ °æ¿ì ÀÏ¹ÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÒ ¶§¿Í Á» ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù. ¿¹ÄÁ´ë ¹®ÀÚ¿­¿¡¼­ÀÇ °¢ ´Ü¾î¸¦ Áö³ªÃÄ°¡¸ç ¹®ÀÚ¿­ÀÌ ³¡³¯ ¶§ ±îÁö ·çÇÁ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. 
</Para> 

<Para> 
<Emphasis remap="bf">while</Emphasis>ÀÇ Á¶°ÇÀÌ ÂüÀÎ µ¿¾È¿¡´Â °è¼Ó ·çÇÁ ¾ÈÀÇ ¸í·ÉÀÌ µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸ Á¶°ÇÀÌ °ÅÁþÀÎ °æ¿ì ·çÇÁ´Â ¹Ù·Î ÁßÁöµÇ°í ·çÇÁ ¹ÛÀÇ ÄÚµå¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù. 
</Para> 

<Para> 
<Emphasis remap="bf">until</Emphasis>µµ µûÁö°í º¸¸é °°Àº ¸Æ¶ôÀÌ±â´Â ÇÏÁö¸¸, 
ÀÌ °æ¿ì¿¡´Â Á¶°ÇÀÌ °ÅÁþÀÎ µ¿¾È ·çÇÁ°¡ µ¿ÀÛÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù. 
</Para> 

<Para> 
¹°·Ð »ç¿ëÇÏ´Â »ç¶÷ ÀÔÀå¿¡¼­´Â whileÀÌ³ª untilÀÌ³ª °æ¿ì¿¡ µû¶ó ÆíÇÏ°Ô ½á ÁÖ¸é µÇ´Â °ÍÀÌ´Ù. ^^ 
</Para> 

<Sect2> 
<Title>¿¹Á¦ : for </Title> 
<Para> 
<Screen> 
#!/bin/bash 
for i in $( ls ); do 
echo item: $i 
done 
</Screen> 
</Para> 
<Para> 
µÎ ¹øÂ° ÁÙ¿¡¼­ Æ¯ÀÌÇÑ º¯¼ö¸¦ ÇÏ³ª º¼ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº lsÀÇ ½ÇÇà °á°ú¸¦ ÅëÂ°·Î º¯¼ö·Î ¹Þ°í ÀÖ´Ù. ¿©±â¿¡¼­ $i´Â ls ÀÇ ½ÇÇà °á°ú¸¦ ¼ø¼­´ë·Î ÇÑ ´Ü¾î¾¿ ¹Þ´Â´Ù. 
</Para> 
<Para> 
¼¼ ¹øÂ° ÁÙÀº ·çÇÁ°¡ ÁøÇàµÇ´Â µ¿¾È ½ÇÇàÇÒ ³»¿ëÀÌ´Ù. ¿©±â¿¡¼­´Â ÇÑ ÁÙ Â¥¸®·Î µÇ¾î ÀÖÁö¸¸ ÇÊ¿ä¿¡ µû¶ó ¸î ÁÙÀÌ°í Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¾ó¸¶µçÁö Ãß°¡ÇÑ ´ÙÀ½, ¸¶Áö¸· ³»¿ëÀÇ ´ÙÀ½ ÁÙ¿¡ doneÀ» ÀÔ·ÂÇÏ¿© ·çÇÁ°¡ ³¡ÀÌ¶ó°í ¾Ë·Á ÁÖ¸é µÈ´Ù. 
</Para> 
<Para> 
¸¶Áö¸· ÁÙÀÇ 'done'Àº, $i°¡ Áö±Ý ¹Þ¾Æ¼­ »ç¿ëÇÑ º¯¼ö´Â Æó±âÇÏ°í »õ·Î¿î º¯¼ö¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù´Â ¶æÀÌ´Ù. done ÀÌÀü¿¡ ÀÖ´ø ³»¿ëÀº ½ÇÇàµÇ¾ú°í, ÀÌÁ¦ ´Ù½Ã »õ º¯¼ö¸¦ ³Ö¾î °°Àº ³»¿ëÀ» ÁøÇàÇÒ °ÍÀÌ´Ù. 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â Á¤¸» ´Ü¼øÇÏ±â Â¦ÀÌ ¾øÁö¸¸, ·çÇÁ¿¡ ´ëÇØ ÇÊ¿äÇÑ ³»¿ëÀº ´Ù ±¸»öÀÌ °®ÃçÁ® ÀÖ´Ù. ÀÌ ³»¿ë¸¸ Á¦´ë·Î ÀÌÇØÇØµµ ±âº»ÀûÀ¸·Î ·çÇÁ¸¦ »ç¿ëÇÏ´Â µ¥¿¡´Â ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù. 
</Para> 

</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : C¾ð¾î ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â for </Title> 

<Para> 
ÀÌ·± ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â forµµ ÇÑ¹ø »ý°¢ÇØ º¸ÀÚ. ÀÌ°ÍÀº C³ª Perl¿¡¼­ »ç¿ëÇÏ´Â ¹æ½Ä°ú ºñ½ÁÇÑ ±¸¼®ÀÌ ¸¹´Ù. 
<Screen> 
#!/bin/bash 
for i in `seq 1 10`; 
do 
echo $i 
done 
</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : while 
</Title> 
<Para> 
<Screen> 
#!/bin/bash 
COUNTER=0 
while [ $COUNTER -lt 10 ]; do 
echo The counter is $COUNTER 
let COUNTER=COUNTER+1 
done 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â C³ª ÆÄ½ºÄ®, Perl µîÀÇ À¯¸íÇÑ ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ½ÄÀ» Èä³»³»°í ÀÖ´Ù. 
</Para> 
</Sect2> 
<Sect2> 
<Title>¿¹Á¦.... ÇÏ³ª ´õ! 
</Title> 
<Para> 
<Screen> 
#!/bin/bash 
COUNTER=20 
until [ $COUNTER -lt 10 ]; do 
echo COUNTER $COUNTER 
let COUNTER-=1 
done 
</Screen> 
</Para> 
</Sect2> 
</Sect1> 
<Sect1> 
<Title>ÇÔ¼ö</Title> 
<Para> 
´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­´Â ³í¸®ÀûÀÎ Èå¸§°ú Àç±Í Ç¥Çö µîÀ» À§ÇØ ÇÔ¼ö¶ó´Â ÀÌ¸§À¸·Î ÄÚµå¸¦ ¹­¾î »ç¿ëÇÏ´Â ÀÏÀÌ ¸¹´Ù. 
</Para> 
<Para> 
ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â µ¥¿¡´Â ½É¶õÇÏ°í ¾î·Á¿î ¹æ¹ý °°Àº °ÍÀº ÀüÇô ÇÊ¿äÇÏÁö ¾Ê´Ù. ´ÜÁö ÀÌ·¸°Ô ÀÔ·ÂÇÒ ¼ö¸¸ ÀÖÀ¸¸é µÈ´Ù. function my&lowbar;func &lcub; my&lowbar;code &rcub; ÇÏ°í ¸»ÀÌ´Ù. 
</Para> 
<Para> 
ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§´Â ´Ù¸¥ ÇÁ·Î±×·¥À» È£ÃâÇÏ´Â °Í°ú ¶È°°ÀÌ ÀÌ¸§À» Àû¾îÁÖ¸é µÈ´Ù. 
</Para> 
<Sect2> 
<Title>ÇÔ¼ö ¿¹Á¦ 
</Title> 
<Para> 
<Screen> 
#!/bin/bash 
function quit { 
exit 
} 
function hello { 
echo Hello! 
} 
hello 
quit 
echo foo 
</Screen> 
</Para> 
<Para> 
2~4ÁÙÀº 'quit' ÇÔ¼öÀÌ¸ç, 5~7ÁÙÀº 'hello' ÇÔ¼öÀÌ´Ù. ÀÌ ½ºÅ©¸³Æ®°¡ ¹«½¼ ¶æÀÎÁö Àß ÀÌÇØ°¡ °¡Áö ¾Ê´Â´Ù¸é, ¹é¹®ÀÌ ºÒ¿©ÀÏ°ßÀÌ´Ù. ÇÑ¹ø ½ÇÇàÇØ º¸¸é ¹«½¼ ¸»ÀÎÁö ´Ù ¾Ë °ÍÀÌ´Ù. 
</Para> 
<Para> 
ÇÔ¼ö¸¦ ¼±¾ðÇÏ´Â µ¥¿¡´Â Æ¯º°È÷ ½Å°á ¾µ ¸¸ÇÑ ÀÏÀº ÀüÇô ¾ø´Ù. ³Ñ¾î°¡ÀÚ. 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ¸é ¸ÕÀú hello ÇÔ¼ö°¡ È£ÃâµÇ°í ´ÙÀ½À¸·Î quit ÇÔ¼ö°¡ È£ÃâµÈ´Ù. 10¹øÂ° ÁÙÀº °áÄÚ ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. 
</Para> 
</Sect2>
<Sect2> 
<Title>ÀÎÀÚ¸¦ ¹Þ´Â °æ¿ì </Title> 
<Para> 
<Screen> 
#!/bin/bash 
function quit { 
exit 
} 
function e { 
echo $1 
} 
e Hello 
e World 
quit 
echo foo 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®´Â ¹æ±Ý Àü¿¡ »ìÆì º» °Í°ú ¸Å¿ì ºñ½ÁÇÏ´Ù. °¡Àå Å« Â÷ÀÌ´Â 'e'¶ó´Â ÀÌ¸§ÀÇ ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö´Â ¹Þ¾ÆµéÀÎ Ã¹ ¹øÂ° ÀÎÀÚ¸¦ Ãâ·ÂÇÑ´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>»ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º 
</Title> 

<Sect2> 
<Title>select¸¦ ÀÌ¿ëÇÏ¿© °£´ÜÇÑ ¸Þ´º ¸¸µé±â</Title> 
<Para> 
<Screen> 
#!/bin/bash 
OPTIONS="Hello Quit" 
select opt in $OPTIONS; do 
if [ "$opt" = "Quit" ]; then 
echo done 
exit 
elif [ "$opt" = "Hello" ]; then 
echo Hello World 
else 
clear 
echo bad option 
fi 
done 
</Screen> 
</Para> 
<Para> 
ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ¿©·¯ºÐÀº ÇÁ·Î±×·¡¸ÓÀÇ ·Î¸Á(-_-;;;)ÀÎ ÅØ½ºÆ® ±â¹ÝÀÇ ¸Þ´º¸¦ º¸°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ À§ ³»¿ëÀº for¸¦ »ç¿ëÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î $OPTIONÀ» ÀÌ¿ëÇÏ¿© °¢ ´Ü¾î¸¦ ¹Þ¾ÒÁö¸¸, »ç¿ëÀÚ¿¡°Ô ÀÔ·ÂÀ» ¹Þ¾Æ ¼±ÅÃÇÏ°Ô ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. 
</Para> 
</Sect2> 

<Sect2> 
<Title>¸í·É ÇàÀ» »ç¿ëÇÏ¿©</Title> 

<Para> 
<Screen> 
#!/bin/bash 
if [ -z "$1" ]; then 
echo usage: $0 directory 
exit 
fi 
SRCD=$1 
TGTD="/var/backups/" 
OF=home-$(date +%Y%m%d).tgz 
tar -cZf $TGTD$OF $SRCD 
</Screen> 
</Para> 
<Para> 
ÀÌ ÇÁ·Î±×·¥ÀÇ Ã¹ ¹øÂ° ºÐ±â´Â ÀÌ°ÍÀÌ ($1)ÀÇ °ªÀ» ¹ÝÈ¯ÇÒ ¼ö ÀÖ´Â°¡¸¦ È®ÀÎÇÏ¿© °ªÀ» ¹ÝÈ¯ÇÒ °æ¿ì¿¡´Â ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ÂªÀº °æ°í¹®°ú ÇÔ²² ½ºÅ©¸³Æ®¸¦ °è¼Ó ÁøÇàÇØ ³ª°£´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>Misc 
</Title> 

<Sect2> 
<Title>read·Î »ç¿ëÀÚ ÀÔ·Â ¹Þ±â</Title> 

<Para> 
¸¹Àº °æ¿ì ÇÁ·ÒÇÁÆ® »ó¿¡¼­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æ¾ß ÇÒ Áöµµ ¸ð¸¥´Ù. ´ÙÀ½Àº ÇÁ·ÒÇÁÆ®¿¡¼­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â ¹æ¹ýÀÌ´Ù. 
<Screen> 
#!/bin/bash 
echo Please, enter your name 
read NAME 
echo "Hi $NAME!" 
</Screen> 
</Para> 

<Para> 
ÀÌ ¹æ¹ýÀº 2°³ ÀÌ»óÀÇ ÀÔ·ÂÀ» µ¿½Ã¿¡ ¹Þ¾Æ µéÀÏ ¼ö ÀÖ´Ù. 
<Screen> 
#!/bin/bash 
echo Please, enter your firstname and lastname 
read FN LN 
echo "Hi! $LN, $FN !" 
</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>»ê¼ú °è»ê</Title> 

<Para> 
¸í·É ÇàÀÌ³ª ¼Ð¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇØ º¸ÀÚ. 
</Para> 

<Para> 
echo 1 + 1 
</Para> 

<Para> 
¹¹°¡ ³ª¿À°Ú´Â°¡? ÀÔ·ÂÇÑ ±×´ë·Î ³ª¿Í ¹ö¸°´Ù! Èì, ÀÌ °æ¿ì¿¡ 2¶ó´Â °á°ú°¡ ³ª¿Â´Ù¸é ¹º°¡ ½Ç¼öÇÑ °Å´Ù. ±×·¸´Ù¸é ¾î¶»°Ô ÇÏ¸é ÀÌ °è»êÀÇ °á°ú¸¦ È­¸é¿¡¼­ º¼ ¼ö ÀÖÀ»±î. ¹æ¹ýÀº °£´ÜÇÏ´Ù. ÀÌ°ÍÀÌ ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¶ó °è»êÀÌ¶ó´Â °ÍÀ» ÀÎ½ÄÇÏ¸é µÇ´Â °ÍÀÌ°í, ´õ ³ª¾Æ°¡ ÀÌ °è»êÀ» º¯¼ö¿¡ ³Ö¾î ¹ö¸®¸é echo ¸í·ÉÀ¸·Î º¼ ¼ö ÀÖ´Â °ÍÀº ÀÎÁö»óÁ¤ÀÎ °ÍÀÌ´Ù. ^^ ±×·¸´Ù~! ´äÀº ¹Ù·Î Àú°ÍÀÌ´Ù!
</Para> 
<Para> 
echo $((1+1)) 
</Para> 
<Para> 
Á» ´õ ³í¸®ÀûÀÌ°í Á¦´ë·Î µÈ ¹æ¹ýÀº Àú°ÍÀÌ´Ù. ¼öÇÐÀûÀÎ Ç¥ÇöÀ¸·Î ÇÑ ¹æ¿¡ ÀÎ½ÄÇØ ¹ö¸°´Ù. È¿°ú´Â È®½ÇÇÏ´Ù!!
</Para> 
<Para> 
echo $&lsqb;1+1] 
</Para> 
<Para> 
³ª´°¼ÀÀ» Á¦´ë·Î ÇÏ°í ½Í°Å³ª È¤Àº ´õ º¹ÀâÇÑ ¼öÇÐ °è»êÀ» ÇÏ°í ½Í´Ù¸é ¼öÇÐÀûÀÎ °è»êÀ» bc¿¡¼­ Ã³¸®ÇØ ¹ö¸®´Â °ÍÀÌ Çö¸íÇÏ´Ù. ¾Æ´Â ºÐÀº ´Ù ¾Æ´Â ÀÌ¾ß±âÀÌÁö¸¸ ¸ð¸£´Â ºÐÀ» À§ÇØ ¾ÆÁÖ Âª°Ô ¶°µé¾î º¸°Ú´Ù. bc´Â ÅÍ¹Ì³Î¿¡¼­ ±×³É ÀÔ·ÂÇØ¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â °è»ê±â·Î¼­, ¾ÆÁÖ Á¤¹ÐÇÑ ¼Ò¼öÁ¡ °è»ê±îÁö ÇÒ ¼ö ÀÖ°í, °øÇÐ °è»êµµ ½Ä¸¸ ¼¼¿ï ¼ö ÀÖ´Ù¸é À¢¸¸ÇÏ¸é Ç® ¼ö ÀÖ´Âµ¥´Ù°¡ ¸¶Ä¡ ¼öÇÐ ÆÐÅ°Áö¸¦ »ç¿ëÇÏµíÀÌ, ¾î´À Á¤µµ °£´ÜÇÑ ½ºÅ©¸³Æ® ÇüÅÂ¸¦ ¸¸µé¾î ¼öÇÐ °è»êÀ» ÇÒ ¼öµµ ÀÖ´Â, ±×¾ß¸»·Î ³¡³»ÁÖ´Â ¹°°ÇÀÌ´Ù. ÀÌ¾ß±â°¡ ±æ¾îÁ³´Âµ¥, ¹é°ßÀÌ ºÒ¿©ÀÏÇàÀÌ¶ó°í ¹¹°¡ ´Ù¸¥Áö ÇÑ¹ø º¸±â³ª ÇÏÀÚ.
</Para> 
<Para> 
3/4¸¦ °è»êÇÑ´Ù°í "echo $&lsqb;3/4]" ¶ó°í ÀÔ·ÂÇØ º¸ÀÚ. ¿ø·¡ Á¤»óÀûÀÎ ´äÀº 0.75ÀÌ°ÚÁö¸¸ ¿©±â¿¡¼­´Â ¸ÛÃ»ÇÏ°Ôµµ 0ÀÌ¶ó°í ³ª¿Ã °ÍÀÌ´Ù. ±×µµ ±×·² °ÍÀÌ, ¹è½¬¿¡¼­´Â ¿ÀÁ÷ Á¤¼ö °è»ê¸¸ ÇÒ ¼ö ÀÖ±â ¶§¹®ÀÌ´Ù. "echo 3/4&verbar;bc -l"¶ó°í ÀÔ·ÂÇÏ¿© ÀÌ ³»¿ëÀ» bc·Î º¸³»¸é 0.75¶ó´Â ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù.
</Para> 

</Sect2> 

<Sect2> 
<Title>bashÀÇ °æ·Î Ã£±â</Title> 

<Para> 
ÀÌ ºÎºÐÀº ¸¶ÀÌÅ©°¡ Ãß°¡ÇØ ÁØ ºÎºÐÀÌ´Ù.
</Para> 

<Para> 
¿ì¸®´Â ´ë°³ ½ºÅ©¸³Æ®ÀÇ Ã¹ ÁÙ¿¡ &num;!/bin/bash ¶ó°í ÀÔ·ÂÇÏÁö¸¸, ¿©±â¿¡¼­´Â ´Ù¸¥ °æ·Î¿¡ bash°¡ ÀÖÀ» ¶§ ±×°ÍÀ» Ã£¾Æ³»´Â ¹æ¹ýÀ» °£´ÜÈ÷ Â¤°í ³Ñ¾î°¡°Ú´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­´Â /bin/bashÀÇ °æ·Î¿¡ ÀÖ°ÚÁö¸¸, ¸ðµç ½Ã½ºÅÛÀÌ ±×·¸´Ù°í´Â ¸»ÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.
</para> 
<Para> 
'find ./ -name bash' ¸í·ÉÀº ·çÆ® µð·ºÅä¸®ºÎÅÍ ¸ðµç µð·ºÅä¸®¸¦ ¾µ¾î³»¸®¸ç bash¸¦ Ã£´Â´Ù. ±×·¯³ª ÀÌ·¸°Ô ±îÁö ÇÒ °ÍÀº ¾ø´Ù. bash°¡ ÀÖ´Â À§Ä¡¶ó´Â °ÍÀº ´ë°³ ´ÙÀ½ Áß ÇÏ³ªÀÎ °ÍÀÌ´Ù. ÀÌ °æ·Î¸¦ ¸ðµÎ È®ÀÎÇØ º¸°íµµ ¾øÀ» ¶§¿¡¾ß find¸¦ ½á º¸ÀÚ. »ç½Ç, ¸ðµç µð·ºÅä¸®¸¦ È®ÀÎÇÏ´Â °ÍÀº Á» ½Ã°£ ³¶ºñ´Ù.
</Para> 
<Para> ls -l /bin/bash </Para> 
<Para> ls -l /sbin/bash </Para> 
<Para> ls -l /usr/local/bin/bash </Para> 
<Para> ls -l /usr/bin/bash </Para> 
<Para> ls -l /usr/sbin/bash </Para> 
<Para> ls -l /usr/local/sbin/bash </Para> 
<Para> 
È¤Àº 'which bash'¸¦ »ç¿ëÇÏ¿© Ã£À» ¼öµµ ÀÖ´Ù. ÃëÇâ¿¡ µû¶ó ½á º¸ÀÚ. 
</Para> 
</Sect2> 

<Sect2> 
<Title>ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ª ¹Þ±â</Title> 
<Para> bash¿¡¼­, ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ªÀº Æ¯º°ÇÑ º¯¼öÀÎ $?·Î ¹Þ´Â´Ù. </Para> 
<Para> 
´ÙÀ½Àº ¾î¶»°Ô ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ªÀ» ¹Þ¾Æ³»´À³Ä¸¦ º¸¿© ÁÖ´Â °ÍÀÌ´Ù. ³ª´Â ¿©±â¿¡¼­ <Emphasis remap="it">dada</Emphasis> ¶ó´Â µð·ºÅä¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù°í °¡Á¤ÇÏ°Ú´Ù. È­¸é¿¡ ¹º°¡ ³ª¿ÀÁö ¾Ê´Â°¡?
<Screen> 
#!/bin/bash 
cd /dada &> /dev/null 
echo rv: $? 
cd $(pwd) &> /dev/null 
echo rv: $? 
</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>¸í·É ½ÇÇà °á°ú ÀúÀåÇÏ±â</Title> 

<Para> 
¸ÕÀú MySQLÀÌ ±ò·Á ÀÖ´Ù´Â °¡Á¤ ÇÏ¿¡¼­ ÇÏ´Â ¸»ÀÌÁö¸¸, ÀÌ¹ø¿¡ ¼³¸íÇÒ °£´ÜÇÑ ½ºÅ©¸³Æ®´Â ÀÌ ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â ¸ðµç µ¥ÀÌÅÍ º£ÀÌ½ºÀÇ ¸ðµç Å×ÀÌºí ¸ñ·ÏÀ» º¼ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù. ¹°·Ð mysql ¸í·ÉÀ» »ç¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå´Â ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. ^^ 

<Screen> 
#!/bin/bash 
DBS=`mysql -uroot -e"show databases"` 
for b in $DBS ; 
do 
mysql -uroot -e"show tables from $b" 
done 
</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>´ÙÁß ¼Ò½ºÆÄÀÏ »ç¿ëÇÏ±â </Title> 

<Para> 
¿©·¯ ÆÄÀÏ¿¡ °ÉÃÄ ¸í·É ¼Ò½º¸¦ ÀÔ·ÂÇÏ¿© ½ÇÇàÇÒ ¼öµµ ÀÖ´Ù. 
</Para> 

<Para> 
ÇÊÀÚ´Â ÀÌ ºÎºÐÀ» ±×³É ¾Ë¾Æ¼­ ÇØ º¸¶ó°í ºñ¿ö µÎ¾ú°í ¾ÆÁ÷±îÁö Ã¤¿ï ±â¹Ì°¡ º¸ÀÌÁö¸¦ ¾ÊÁö¸¸..... ¹¹, ¸»ÇÏÀÚ¸é °£´ÜÇÏ´Ù. ¿¹ÄÁ´ë, ÀÎÅÍ³Ý¿¡¼­ ¿øÇÏ´Â ¸¸È­ ±×¸² ÆÄÀÏÀ» ¸ÅÀÏ ¾ÆÄ§ ´Ù¿î·Îµå ¹Þ´Â ½ºÅ©¸³Æ®°¡ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. ÀÌ ¸¸È­ ±×¸²À» ¸ÅÀÏ ¹ÙÅÁ È­¸é¿¡ ±ò¾Æ ³õ°í ½Í´Ù¸é ÀÌ ³»¿ëÀ» »õ·Î¿î ½ºÅ©¸³Æ®¿¡ ÅëÂ°·Î Áý¾î ³Ö¾îµµ »ó°ü ¾ø°ÚÁö¸¸, ¿øÇÏ´Â ±×¸²À» ¹ÙÅÁ È­¸é¿¡ ÀÚµ¿À¸·Î ±ò¾Æ ³õ´Â ½ºÅ©¸³Æ®¿¡¼­ ÀÌ ±×¸²À» ´Ù¿î¹Þ´Â ½ºÅ©¸³Æ®¸¦ ºÒ·¯µé¿© ½ÇÇàÇØµµ ¾Æ¹« »ó°üÀÌ ¾ø´Ù´Â ¶æÀÌ´Ù. ÀÌ¿Í °°Àº ´ÙÁß ¼Ò½ºÆÄÀÏÀº ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­µµ °°Àº ±â´ÉÀ» ¶Ç »ç¿ëÇÒ ¶§ »õ ÇÁ·Î±×·¥ ¾È¿¡¼­ ºÒ·¯ µéÀÌ´Â °Í ¸¸À¸·Îµµ ÃæºÐÈ÷ Á¦ ±â´ÉÀ» ÇÏ±â ¶§¹®¿¡ Æí¸®ÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>Tables 
</Title> 

<Sect2> 
<Title>¹®ÀÚ¿­ ºñ±³ ¿¬»êÀÚ </Title> 
<Para> (1) s1 = s2 </Para> 
<Para> (2) s1 != s2 </Para> 
<Para> (3) s1 < s2 </Para> 
<Para> (4) s1 > s2 </Para> 
<Para> (5) -n s1 </Para> 
<Para> (6) -z s1 </Para> 
<Para> 
Áö±Ý ¼³¸íÇÏ´Â ³»¿ëÀº ¹®ÀÚ¿­À» ºñ±³ÇÏ´Â ¿¬»êÀÚÀÌ´Ù. 
ÀÌ ¿¬»êÀÚ¸¦ ¹®Àå Çü´ë·Î ¹Ù²Ù¸é ´ÙÀ½°ú °°´Ù. 
</Para> 
<Para> (1) s1 matches s2 </Para> 
<Para> (2) s1 does not match s2 </Para> 
<Para> (3) &lowbar;&lowbar;TO-DO&lowbar;&lowbar; </Para> 
<Para> (4) &lowbar;&lowbar;TO-DO&lowbar;&lowbar; </Para> 
<Para> (5) s1 is not null (contains one or more characters) </Para> 
<Para> (6) s1 is null </Para> 

</Sect2> 

<Sect2> 
<Title>¹®ÀÚ¿­ ºñ±³ÀÇ ¿¹Á¦</Title> 

<Para> 
´ÙÀ½Àº ¹®ÀÚ¿­ $S1°ú $S2¸¦ ºñ±³ÇÏ´Â ¿¹Á¦ÀÌ´Ù. 
<Screen> 
#!/bin/bash 
S1='string' 
S2='String' 
if [ $S1=$S2 ]; 
then 
echo "S1('$S1') is not equal to S2('$S2')" 
fi 
if [ $S1=$S1 ]; 
then 
echo "S1('$S1') is equal to S1('$S1')" 
fi 
</Screen> 
º¸ÅëÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ¹ý°ú ¾ÆÁÖ ºñ½ÁÇÏ´Ù. 
</Para> 

<Para> 
ÀÌ ºÎºÐ¿¡ ´ëÇØ¼­´Â ¾Èµå·¹ º£Å©ÀÇ ¸ÞÀÏÀ» Âü°íÇÏ¿´´Ù. 
</Para> 

<Para> 
ÀÌ°ÍÀº »ó´çÈ÷ ÁÁÀº ¹æ¹ýÀÌ´Ù. $S1ÀÌ³ª $S2 µÑ Áß ÇÏ³ª¶óµµ ºñ¾î ÀÖÀ» ¶§¿¡´Â ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù. x$1=x$2 ÀÌ³ª "$1"="$2" ¿Í °°ÀÌ ¾²´Â ÆíÀÌ ÁÁ´Ù. 
</Para> 

</Sect2> 

<Sect2> 
<Title>»ê¼ú ¿¬»êÀÚ </Title> 
<Para> + </Para> 
<Para> - </Para> 
<Para> * </Para> 
<Para> / </Para> 
<Para> &percnt; (remainder) </Para> 
</Sect2> 

<Sect2> 
<Title>»ê¼ú °ü°è ¿¬»êÀÚ</Title> 
<Para> -lt (<) </Para> 
<Para> -gt (>) </Para> 
<Para> -le (<=) </Para> 
<Para> -ge (>=) </Para> 
<Para> -eq (==) </Para> 
<Para> -ne (!=) </Para> 
<Para> 
C ¾ð¾î¸¦ »ç¿ëÇÏ´Â »ç¶÷ÀÌ¶ó¸é ÀÌ°ÍÀÌ ¹«½¼ ÀÇ¹ÌÀÎÁö ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´õ¶óµµ ÀÌ ±ÛÀ» ÀÐÀ» Á¤µµÀÇ »ç¶÷ÀÌ¶ó¸é ºÐ¸í ¹«½¼ ¸»ÀÎÁö ¾Ë°í ÀÖÀ» Å×´Ï ³Ñ¾î°¡ÀÚ. ^^ 
</Para> 
</Sect2> 

<Sect2> 
<Title>¾µ¸ðÀÖ´Â ¸í·É </Title> 
<Para> 
ÀÌ ºÎºÐÀº Å°Áî°¡ ³»¿ëÀ» ¼öÁ¤ÇÏ¿© ´Ù½Ã ½á ÁÖ¾ú´Ù. 
</Para> 

<Para> 
ÀÌ °÷ÀÇ ¸î¸î ¸í·ÉÀº ´ëºÎºÐ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ Æ÷ÇÔµÇ¾î ÀÖ´Â °ÍÀÌ´Ù. ¹°·Ð ¿©±â ³ª¿À´Â ¼³¸íÀº Á¤¸» ´«¹°³ª°Ô °£´ÜÇÑ °ÍÀÌ¹Ç·Î, ÀÌ¿Í °°Àº ¸í·É¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ¸Ç ÆäÀÌÁö¸¦ Âü°íÇÏÀÚ. 
</Para> 

<Para> <Emphasis remap="bf">sed</Emphasis></Para> 
<Para> 
sed´Â ºñ´ëÈ­Çü(non-interactive) ¸ðµåÀÇ ¶óÀÎ ÆíÁý±âÀÌ´Ù. ¶ÇÇÑ ÇÊÅÍ¸¦ »ç¿ëÇÒ ¼ö ÀÖ¾î ¼Ð ÇÁ·Î±×·¡¹Ö¿¡¼­ ¾ÆÁÖ Àß! »ç¿ëÇÒ ¼ö ÀÖ´Â µµ±¸ÀÌ´Ù. ¸ÕÀú °£´ÜÈ÷ ¿¹Á¦¸¦ »ìÆìº¸ÀÚ.</Para> 
<Para> 
<Screen> 
$sed 's/to_be_replaced/replaced/g' /tmp/dummy 
</Screen> 
</Para> 
<Para> 
Sed ´Â  /tmp/dummy ÆÄÀÏÀ» ÀÐ¾îµé¿© 'to&lowbar;be&lowbar;replaced'¶ó´Â ¹®ÀÚ¿­À» 'replaced'·Î °£´ÜÈ÷ ¹Ù²ã ¹ö¸°´Ù. ÀÌ °á°ú´Â ±×³É È­¸é¿¡ Ãâ·ÂµÉ »ÓÀÌ¹Ç·Î, ÆÄÀÏ·Î ÀúÀåÇÏ±â À§ÇØ¼­´Â À§ ¸í·ÉÀÇ ³¡¿¡ '> ÆÄÀÏÀÌ¸§'À» Ãß°¡ÇØ¾ß ÇÒ °ÍÀÌ´Ù. Àû´çÇÑ ÆÄÀÏ ÀÌ¸§À» ³Ö¾î ÁÖ¸é ±× ÀÌ¸§À¸·Î ÀÌ °á°ú°¡ ÀúÀåµÉ °ÍÀÌ´Ù.
</Para> 
<Para> 
<Screen> 
$sed 12, 18d /tmp/dummy 
</Screen> 
</Para> 
<Para> 
Sed ´Â ¿øº» ÆÄÀÏ¿¡¼­ 12¿¡¼­ 18ÁÙ ±îÁö¸¦ Á¦¿ÜÇÑ ¸ðµç ÁÙÀ» º¸¿©ÁØ´Ù.
</Para> 

<Para> 
<Emphasis remap="bf">awk</Emphasis>
</Para> 

<Para> 
awk´Â C ¾ð¾î¿Í ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÏ´Â, ÅØ½ºÆ® Ã³¸® ¾ð¾îÀÌ´Ù. awk´Â ÆÐÅÏÀ» °Ë»öÇÏ¿© °°Àº °ÍÀ» Ã£¾Æ Ã³¸®ÇÑ´Ù´Â Á¡¿¡¼­´Â °£´ÜÇÑ ±â´ÉÀ» °¡Áø °Í Ã³·³ º¸ÀÌÁö¸¸, »ç½Ç ¾ÆÁÖ Á¤±³ÇÏ°Ô µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.</Para> 
<Para> ÀÚ, ´ÙÀ½ ÇàÀ» /tmp/dummy ÆÄÀÏ¿¡ Áý¾î³ÖÀÚ.</Para> 
<Para> <Emphasis remap="it">"test123</Emphasis> </Para> 
<Para> <Emphasis remap="it">test</Emphasis> </Para> 
<Para> <Emphasis remap="it">tteesstt"</Emphasis> </Para> 
<Para> 
<Screen> 
$awk '/test/ {print}' /tmp/dummy 
</Screen> 
</Para> 
<Para> test123 </Para> 
<Para> test </Para> 
<Para> 
awk´Â test°¡ Æ÷ÇÔµÈ ÁÙÀ» È­¸é¿¡ Ãâ·ÂÇÏ¿´´Ù. ±×·¯³ª ÀÌ°ÍÀº awkÀÇ ±â´É Áß¿¡¼­´Â °¡Àå ´Ü¼øÇÑ ºÎºÐ¿¡ ¼ÓÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´Ù¸¥ ¹®¼­¸¦ Âü°íÇÏµµ·Ï ÇÏ°í, ¿©±â¿¡¼­´Â ÇÑ °¡Áö¸¸ ´õ »ìÆì º¸°í ³Ñ¾î°¡°Ú´Ù.
</Para> 
<Para> 
<Screen> 
$awk '/test/ {i=i+1} END {print i}' /tmp/dummy 
</Screen> 
</Para> 
<Para> 
3 
</Para> 
<Para> 
´Ù¾çÇÑ ÆÐÅÏÀ» °Ë»öÇÏ±â À§ÇØ '-f file.awk'¿Í °°Àº ½ÄÀ¸·Î ÆÄÀÏ ÀÌ¸§À» ÁöÁ¤ÇÏ°í, ÀÌ ÆÄÀÏ ¾È¿¡ ÇÊ¿äÇÑ ÆÐÅÏÀ» ¸ðµÎ ÀÔ·ÂÇØ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
</Para> 
<Para> 
<Emphasis remap="bf">grep</Emphasis>
</Para> 
<Para> 
¹°·Ð grep¿¡ ´ëÇØ¼­´Â µû·Î ¼³¸íÇÒ ÇÊ¿ä°¡ ¾øÀ» Áöµµ ¸ð¸£°Ú´Ù. ÇØ´çµÇ´Â ¹®ÀÚ¿­ÀÌ ÀÖ´Â ÇàÀ» ¹ÝÈ¯ÇÏ´Â grep ¸í·ÉÀº ³Î¸® ¾²ÀÌ°í ÀÖÀ¸´Ï±î. ÇÏÁö¸¸ grepÀº ´Ù¸¥ ´Ù¾çÇÑ ±â´Éµµ ¹ßÈÖÇÒ ¼ö ÀÖ´Ù.

<Screen> 
$grep "look for this" /var/log/messages -c 
</Screen> 
</Para> 
<Para> 
12 
</Para> 
<Para> 
"look for this"¶ó´Â ¹®ÀåÀÌ /var/log/messages¶ó´Â ÆÄÀÏ ¾È¿¡¼­ 12¹ø ¹ß°ßµÇ¾ú´Ù´Â ¶æÀÌ´Ù.
</Para> 
<Para>
<Emphasis remap="bf">wc</Emphasis>
</Para> 
<Para> 
ÀÌ ¸í·ÉÀº ´Ü¾î ¼ö¸¦ ¼¼¾î ÁÖ´Â ¸í·ÉÀÌ´Ù. ¾î´À ¿Ü±¹ Ãß¸® ¼Ò¼³¿¡¼­, ´Ü¾î´ç 5¼¾Æ®¸¦ ¹Þ´Â ÀÛ°¡ÀÇ ÀÌ¾ß±â°¡ ³ª¿À±âµµ Çß´Âµ¥, Á¤¸» ¿ø°í·á¸¦ Ã¥Á¤ÇÒ ¶§ »ç¿ëÇÒ Áöµµ ¸ð¸£°Ú´Ù. ´ÙÀ½°ú °°Àº ³»¿ëÀ» dummy ÆÄÀÏ·Î ÀúÀåÇÏ°í ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ.
<Emphasis remap="it">"bash introduction</Emphasis> 
<Emphasis remap="it"> howto test file"</Emphasis> 
</Para> 
<Para> 
<Screen> 
$wc --words --lines --bytes /tmp/dummy 
</Screen> 
</Para> 
<Para> 
2 5 34 /tmp/dummy 
</Para> 
<Para> 
<Emphasis remap="bf">sort</Emphasis>
</Para> 

<Para> ±×·¯¸é ´ÙÀ½°ú °°Àº ³»¿ëÀÌ µé¾î ÀÖ´Â ÀÓ½Ã ÆÄÀÏ  /tmp/dummy¸¦ ¸¸µé¾î º¸ÀÚ.</Para> 

<Para> <Emphasis remap="it">"b</Emphasis> </Para> 
<Para> <Emphasis remap="it">c</Emphasis> </Para> 
<Para> <Emphasis remap="it">a"</Emphasis> 
<Screen> 
$sort /tmp/dummy 
</Screen> 
</Para> 
<Para> 
À§ ¸í·ÉÀÇ °á°ú·Î ´ÙÀ½°ú °°Àº Ãâ·ÂÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
</Para> 
<Para> <Emphasis remap="it">a</Emphasis> </Para> 
<Para> <Emphasis remap="it">b</Emphasis> </Para> 
<Para> <Emphasis remap="it">c</Emphasis> </Para> 
<Para> 
¶ÇÇÑ ½±Áö¸¸Àº ¾ÊÀº ³à¼®À¸·Î 
<Emphasis remap="bf">bc</Emphasis>µµ ÀÖ´Ù.
</Para> 
<Para> 
Bc´Â ¸í·É Çà¿¡¼­ »ç¿ëÇÏ´Â °è»ê±âÀÌ´Ù. ÆÄÀÏÀÌ³ª Á÷Á¢ ÀÔ·Â È¤Àº ¸®µð·º¼ÇÀ¸·Î ÀÔ·Â¹Þ¾Æ Ã³¸®ÇÑ´Ù. -q ¿É¼ÇÀ» »ç¿ëÇÏ¸é Ã³À½ ½ÃÀÛÇÒ ¶§ ³ª¿À´Â ¸Þ½ÃÁö¸¦ ¾È º¸°í ³Ñ¾î°¥ ¼ö ÀÖ´Ù.
</Para> 
<Para> 
<Screen> 
$bc -q 
</Screen> 
</Para> 
<Para> <Emphasis remap="it">1 == 5</Emphasis> </Para> 
<Para> <Emphasis remap="it">0</Emphasis> </Para> 
<Para> <Emphasis remap="it">0.05 == 0.05</Emphasis> </Para> 
<Para> <Emphasis remap="it">1</Emphasis> </Para> 
<Para> <Emphasis remap="it">5 != 5</Emphasis> </Para> 
<Para> <Emphasis remap="it">0</Emphasis> </Para> 
<Para> <Emphasis remap="it">2 &circ; 8</Emphasis> </Para> 
<Para> <Emphasis remap="it">256</Emphasis> </Para> 
<Para> <Emphasis remap="it">sqrt(9)</Emphasis> </Para> 
<Para> <Emphasis remap="it">3</Emphasis> </Para> 
<Para> <Emphasis remap="it">while (i != 9) &lcub;</Emphasis> </Para> 
<Para> <Emphasis remap="it">i = i + 1;</Emphasis> </Para> 
<Para> <Emphasis remap="it">print i</Emphasis> </Para> 
<Para> <Emphasis remap="it">&rcub;</Emphasis> </Para> 
<Para> <Emphasis remap="it">123456789</Emphasis> </Para> 
<Para> <Emphasis remap="it">quit</Emphasis> </Para> 
<Para> <Emphasis remap="bf">tput</Emphasis> (initialize a terminal or query terminfo database) </Para> 
</sect2>
</Sect1> 

<Sect1> 
<Title>¶Ç ´Ù¸¥ ½ºÅ©¸³Æ®µé... 
</Title> 
<Sect2> 
<Title>¿¹Á¦ : ÃÊ°£´Ü ¹é¾÷ ½ºÅ©¸³Æ®-Á¶±Ý ¹ßÀüµÈ ¹öÀü </Title> 
<Para> 
<Screen> 
#!/bin/bash 
SRCD="/home/" 
TGTD="/var/backups/" 
OF=home-$(date +%Y%m%d).tgz 
tar -cZf $TGTD$OF $SRCD 
</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>¿¹Á¦ : ÆÄÀÏÀÌ¸§ ¹Ù²Ù´Â ÇÁ·Î±×·¥(renna) </Title> 
<Para> 
<Screen> 
#!/bin/sh 
# renna: ¿©·¯ ÆÄÀÏÀÇ ÀÌ¸§À» ±ÔÄ¢¿¡ µû¶ó ÇÑ¹ø¿¡ ¹Ù²Ü ¼ö ÀÖ´Â ÇÁ·Î±×·¥
# Æä¸¯½º Çãµå½¼ÀÌ 2000³â 1¿ù¿¡ ¸¸µé¾ú´Ù. 


if [ $1 = p ]; then 

prefix=$2 ; shift ; shift 


if [$1 = ]; then 
echo "no files given" 
exit 0 
fi 

for file in $* 
do 
mv ${file} $prefix$file 
done 

exit 0 
fi 

if [ $1 = s ]; then 
suffix=$2 ; shift ; shift 

if [$1 = ]; then 
echo "no files given" 
exit 0 
fi 

for file in $* 
do 
mv ${file} $file$suffix 
done 

exit 0 
fi 

if [ $1 = r ]; then 

shift 

if [ $# -lt 3 ] ; then 
echo "usage: renna r [expression] [replacement] files... " 
exit 0 
fi 

OLD=$1 ; NEW=$2 ; shift ; shift 

for file in $* 
do 
new=`echo ${file} | sed s/${OLD}/${NEW}/g` 
mv ${file} $new 
done 
exit 0 
fi 

echo "usage;" 
echo " renna p [prefix] files.." 
echo " renna s [suffix] files.." 
echo " renna r [expression] [replacement] files.." 
exit 0 

</Screen> 
</Para> 
</Sect2> 

<Sect2> 
<Title>°£´ÜÇÏ°Ô ÆÄÀÏ ÀÌ¸§ ¹Ù²Ù±â 
</Title> 

<Para> 
ÆÄÀÏ ÀÌ¸§À» ¹Ù²Ù±â À§ÇØ¼­´Â mv ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ´ÙÀ½ÀÇ ¹æ¹ýÀ» 
»ç¿ëÇÏ¿© ÆÄÀÏ ÀÌ¸§À» º¯°æÇØ º¸ÀÚ. 
</Para> 
<Screen> 
#!/bin/bash 
# renames.sh 
# °£´ÜÇÑ ÆÄÀÏ ÀÌ¸§ ¹Ù²Ù±â ÇÁ·Î±×·¥

criteria=$1 
re_match=$2 
replace=$3 

for i in $( ls *$criteria* ); 
do 
src=$i 
tgt=$(echo $i | sed -e "s/$re_match/$replace/") 
mv $src $tgt 
done 
</Screen> 
</Sect2> 
<Sect2> 
<Title>¾ÆÄ§¸¶´Ù ½Å¹® ¸¸È­¸¦ ¹è°æ È­¸éÀ¸·Î »ç¿ëÇÏ±â
</Title> 
<Para> 
ÀÌ ÇÁ·Î±×·¥Àº GNOME¿¡¼­ Á¦´ë·Î µ¿ÀÛÇÑ´Ù. ´Ù¸¥ È¯°æ¿¡¼­ »ç¿ëÇÒ ¶§¿¡´Â 
È¯°æ ¼³Á¤ÆÄÀÏÀ» »õ·Î ¸¸µå´Â ºÎºÐÀ» ¼öÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº
±× ³¯ÀÇ ³¯Â¥·Î ÆÄÀÏ ÀÌ¸§À» ¸¸µå´Â ½Å¹® ¸¸È­ÀÇ ±ÔÄ¢¼ºÀ» ÀÌ¿ëÇÏ¿©
ÆÄÀÏÀ» ¹Þ´Â ÇÁ·Î±×·¥À¸·Î, crontab¿¡ ÁöÁ¤ÇØ µÎ¸é ´õ¿í Æí¸®ÇÏ´Ù.
</Para> 
<Screen> 
#!/bin/bash
# bgimg.sh
# ±×³¯ÀÇ ³¯Â¥·Î µÈ ½Å¹® ¸¸È­¸¦ ¹Þ¾Æ¿Â´Ù. ¾Æ·¡ÀÇ ÁÖ¼Ò ºÎºÐ¿¡´Â
# »óÈ²¿¡ µû¶ó Àû¾î ÁØ´Ù.
filename="http://www.domain.com/pwd/"$(date +%Y%m%d)"07_0.jpg"
wget $filename

mv $(date +%Y%m%d)*07_0.jpg ./bgimages

imagename="/mypwd/bgimages/"$(date +%Y%m%d)".jpg"
confname="./.gnome/Background"
rm $confname
touch $confname

echo "[Default]" >> $confname
echo "color1=#5477a0" >> $confname
echo "color2=#5477a0" >> $confname
echo "simple=solid" >> $confname
echo "gradient=vertical" >> $confname
echo "wallpaperAlign=1" >> $confname
echo "Enabled=true" >> $confname

comm="wallpaper="$imagename

echo $comm >> $confname
</Screen> 
</sect2>
</Sect1> 

<Sect1> 
<Title>¹®Á¦°¡ »ý°åÀ» ¶§(µð¹ö±ë ¹æ¹ý) 
</Title> 
<Sect2> 
<Title>ÇÁ·Î±×·¥ ÁøÇà°úÁ¤ º¸±â</Title> 
<Para> 
¾î¶² ÇÁ·Î±×·¥ÀÌ ÀÌÇØÇÒ ¼ö ¾ø´Â µ¿ÀÛÀ» ÇÒ °æ¿ì, ÇÁ·Î±×·¥ÀÇ Ã¹ ÁÙÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. 
</para> 
<Screen> 
#!/bin/bash -x 
</Screen> 
<Para> 
ÀÌ·± ¿É¼ÇÀº ½ÇÇà °úÁ¤¿¡¼­ÀÇ Á¤º¸¸¦ ÇÏ³ªÇÏ³ª Ãâ·ÂÇØ ÁÖ¾î µð¹ö±×¿¡ µµ¿òÀ» ÁØ´Ù. °¢ ÇàÀÌ ½ÇÇàµÉ ¶§ÀÇ ¹ÝÀÀÀ» ¸ðµÎ º¼ ¼ö ÀÖ¾î, ¾î´À ºÎºÐ¿¡¼­ ¹®Á¦°¡ ÀÏ¾î³µ´ÂÁö¸¦ È®½ÇÇÏ°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù. 
</Para> 
</Sect2> 
</Sect1> 

<Sect1> 
<Title>ÀÌ ¹®¼­¿¡ ´ëÇÏ¿© 
</Title> 
<Para> 
ÀÌ ¹®¼­¿¡ Ãß°¡ÇÏ°Å³ª Á¤Á¤ÇÏ´Â °Í, È¤Àº ÀÌ ¹®¼­¸¦ º¸°í »ý°¢³ª´Â °ÍÀº ±×³É ÆíÇÏ°Ô ¾Ë·Á ÁáÀ¸¸é ÇÑ´Ù. ÀÌ·± ³»¿ëÀº ¸ðÀ¸°í ¸ð¾Æ¼­ °¡±ÞÀû »¡¸® ¹®¼­¿¡ Ãß°¡ÇØ µÎ°Ú´Ù. 
</Para> 
<para> 
.....¶ó°í ¸»ÇÑ »ç¶÷ÀÌ 1999³â¿¡ ¹ø¿ªÇÑ ¹®¼­¿¡¼­ Åä¾¾ ÇÏ³ª ¾È Æ²¸®°í 2002³â±îÁö µÎ°í ÀÖ´Ü ¸»ÀÎ°¡!!!!!-0- ±×³É ±â´ëÇÏÁö ¾Ê´Â °ÍÀÌ ¼Ó ÆíÇÏ´Ù. ¾îÂ÷ÇÇ Just for FUNÀÌÁö, ÀÇ¹«·Î ÇÏ´Â ÀÏµµ ¾Æ´ÏÁö ¾Ê´Â°¡. ³ÀµÎÀÚ. -_-+
</para> 
<Sect2> 
<Title>ÀÌ ¹®¼­¿¡ ´ëÇÑ Ã¥ÀÓ </Title> 
<Para> ÀÌ ¹®¼­´Â ¾î¶² Á¾·ùÀÇ Ã¥ÀÓµµ ÁöÁö ¾Ê´Â´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é ÀÌ ¹®¼­¸¦ µû¶óÇÏ´Ù°¡ ¸ðÁ¾ÀÇ ºÒ»ó»ç°¡ »ý±â´õ¶óµµ Ç×ÀÇÇÏÁö ¸»¶ó´Â ¸»ÀÌ´Ù. ¸»Àº ÆíÇÏ°Ô ÇÏ´Â±º.... ÀÌ¶ó´Â »ý°¢ÀÌ µé Áö´Â ¸ð¸£°ÚÁö¸¸, ¿©±â ÀÖ´Â ³»¿ëÀº ´ëÃ¼·Î ¾ÈÀüÇÏ´Ï±î ±×³É µû¶ó ÇØµµ ¹«¹æÇÒ °ÍÀÌ´Ù. ^^ </Para> 
</Sect2> 
<Sect2> 
<Title>¹ø¿ª</Title> 
<Para> ÀÌÅ»¸®¾Æ ¾î : Àª¸®¾ö °ÖÇÇ <ULink URL="http://web.tiscalinet.it/penguin_rules">ÀÌ°÷À» ÂüÁ¶</ULink> </Para> 
<Para> ÇÁ¶û½º¾î : ·Î¶û ¸¶¶¿ <ULink URL="http://" >(ÀÌ ¹®¼­´Â ¸µÅ©°¡ ±úÁ®ÀÖ´Ù.)</ULink> </Para> 
<Para> ÇÑ±¹¾î : ÀüÇýÁø <ULink URL="http://kldp.org">http://kldp.org</ULink> </Para> 
<Para> ½ºÆäÀÎ¾î : ºÒ¸í <ULink URL="http://www.insflug.org">http://www.insflug.org</ULink> </Para> 
<Para> ´õ ¸¹Àº ¹ø¿ªº»ÀÌ ÀÖÀ¸¸®¶ó »ý°¢ÇÏÁö¸¸, ³»°¡ ¾Æ´Â °ÍÀº ÀÌ Á¤µµ ¼±ÀÌ´Ù. ¸¸¾à¿¡ ÀÌ ¹®¼­¸¦ ¹ø¿ªÇß´Ù¸é, ±× »ç½ÇÀ» ¾Ë·ÁÁÖ¸é °í¸¿°Ú´Ù. </Para> 
</Sect2> 

<Sect2> 
<Title>¿©·¯ºÐ²² °¨»çµå¸³´Ï´Ù.</Title> 
<ItemizedList> 
<ListItem> <Para> ´Ù¸¥ ¿©·¯ ³ª¶ó ¸»·Î ÀÌ ¹®¼­¸¦ ¹ø¿ªÇØ ÁØ ¸ðµç ºÐµé </Para> </ListItem> 
<ListItem> <Para> Àß¸øµÈ ºÎºÐÀ» Á¤¸» ¿­½ÉÈ÷ Àâ¾Æ ÁØ ³ª»ê Çã½ºÆ® </Para> </ListItem> 
<ListItem> <Para> ¼öÇÐÀûÀÎ Ç¥Çö¿¡ ´ëÇØ Ãß°¡ ¼³¸íÀ» º¸³»ÁØ Á¸ ¾Öº¸Æ® </Para> </ListItem> 
<ListItem> <Para> <Emphasis remap="it">renna</Emphasis> ½ºÅ©¸³Æ®¸¦ ¸¸µé¾î ÁØ Çãµå½¼ </Para> </ListItem> 
<ListItem> <Para> ³»¿ë Áß Àß¸øµÈ °ÍÀ» ±³Á¤ÇÏ¿© º¸³»ÁÖ°í ¸í·É¾î ºÎºÐÀ» ´Ù½Ã ½á ÁÖ±â±îÁö ÇÑ Å°½º ¹Ý µ§ ºê·ÚÅ© </Para> </ListItem> 
<ListItem> <Para> BASH¿¡ ´ëÇÑ Á¶¾ðÀ» ÇØÁÖ°í ÄÚµå¸¦ Å×½ºÆ® ÇØ ÁØ ¸¶ÀÌÅ© ÇÎÅ© </Para> </ListItem> 
<ListItem> <Para> ·çÇÁ ºÎºÐÀ» ÀÛ¼ºÇÏ´Â µ¥ µµ¿òÀ» ÁÖ¾ú´ø ÇÇ¿¡½Ã </Para> </ListItem> 
<ListItem> <Para> ¸î °¡Áö ¿¡·¯¿¡ ´ëÇØ Á¶¾ðÀ» ÇØ ÁÖ¾ú´ø ¶óÀÌ¾ð </Para> </ListItem> 
<ListItem> <Para> ¼öÁ¤À» ÇØÁÖ°í ÁÖ¼®À» ´Þ¾ÆÁØ ¾Èµå·¹¾Æ½º º£Å© </Para> </ListItem> 
</ItemizedList> 
</Sect2> 
<Sect2> 
<Title>¾÷µ« °úÁ¤....
</Title> 
<Para> ºÎºÐÀûÀÎ ¼öÁ¤À» ÇÏ°í ¹ø¿ª ¹®¼­¿¡ ´ëÇØ »õ Á¤º¸¸¦ ³Ö¾ú´Ù.</Para> 
<Para> À¯¿ëÇÑ ¸í·É¿¡ ´ëÇØ Å°½º°¡ ´Ù½Ã ½á ÁØ ¿ø°í¸¦ Ãß°¡ÇÏ¿´´Ù.</Para> 
<Para> ¼öÁ¤À» ÇÏ°í, ÀÇ°ßÀ» ¹Ý¿µÇÏ¿´´Ù.</Para> 
<Para> ¹®ÀÚ¿­ ÂÊ¿¡ ¿¹Á¦¸¦ Ãß°¡ÇÏ¿´´Ù</Para> 
<Para> v0.8 ¹öÀü ¸Å±â±â¸¦ Áß´ÜÇÏ¿´´Ù. ³Î·²ÇÏ°Ô.....</Para> 
<Para> v0.7 ¼öÁ¤À» ´õ ÇÏ°í Á¦´ë·Î ¾²Áö ¾Ê¾Ò´ø ¿¹Á¦ ºÎºÐÀ» Ãß°¡Çß´Ù.</Para> 
<Para> v0.6 ºÎºÐ ¼öÁ¤....</Para> 
<Para> v0.5 ¸®µð·º¼Ç ºÎºÐÀ» Ãß°¡ÇÏ¿´´Ù.</Para> 
<Para> v0.4 ¹®¼­¸¦ linuxdoc.org »çÀÌÆ®·Î ÀÚ¸®¸¦ ¹Ù²Ù¾î ¿Ã·Á ³õ¾Ò´Ù. </Para> 
</Sect2> 
<Sect2> 
<Title>Ãß°¡ Á¤º¸</Title> 
<Para> ¹è½¬ ÀÔ¹® <ULink URL="http://org.laol.net/lamug/beforever/bashtut.htm">http://org.laol.net/lamug/beforever/bashtut.htm</ULink> </Para> 
<Para> º» ¼Ð ÇÁ·Î±×·¡¹Ö http://207.213.123.70/book/ </Para> 
</Sect2> 
</Sect1> 
</Article> 
