· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Docbook Sgml/Bash-Prog-Intro-HOWTO

BASH ÇÁ·Î±×·¡¹Ö ÀÔ¹® ÇÏ¿ìÅõ

BASH ÇÁ·Î±×·¡¹Ö ÀÔ¹® ÇÏ¿ìÅõ

GMike

ÀüÇýÁø

by Mike G mikkey at dynamo.com.ar

Thu Jul 27 09:36:18 ART 2000

ÀÌ ¹®¼­´Â ¼Ð ½ºÅ©¸³Æ® ÇÁ·Î±×·¡¹ÖÀÇ ±âº»ÀûÀÎ ³»¿ëÀ» ¼³¸íÇÏÀÚ´Â ÃëÁö·Î ÀÛ¼ºµÈ °ÍÀ̸ç, Á¦¸ñÀ» º¸¸é ¾Ë ¼ö ÀÖ°ÚÁö¸¸ ±âÃÊÀûÀÎ ³»¿ëÀ» ´Ù·ç°í ÀÖ´Ù. ³»°¡ Ưº°È÷ ¶Ù¾î³ª°Å³ª Àü¹®ÀûÀÎ ¼Ð ÇÁ·Î±×·¡¸Ó¶ó¼­ ÀÌ·± ±ÛÀ» ¾²°Ô µÇ¾ú´Ù±â º¸´Ù´Â, ³»°¡ ÀÌ ±ÛÀ» ¾²´Â °úÁ¤¿¡¼­ ´Ù¸¥ »ç¶÷¿¡°Ôµµ Áö½ÄÀ» Àü´ÞÇÒ ¼ö ÀÖÀ¸¸ç ³ª¿¡°Ôµµ °øºÎ°¡ µÇ°Ú´Ù´Â »ý°¢À¸·Î ÀÌ ±ÛÀ» ¾²±â ½ÃÀÛÇÑ °ÍÀÌ´Ù. Áú¹® »çÇ×À̳ª Ãß°¡ÇÒ ³»¿ëÀÌ ÀÖ´Ù¸é ¾ðÁ¦¶óµµ ¿¬¶ôÇØ ÁÖ¾úÀ¸¸é ÇÑ´Ù. ±×·± ³»¿ëÀº ÃßÈÄ¿¡ ÀÌ ¹®¼­¿¡ Ãß°¡ÇÒ °ÍÀÌ´Ù.


차례
1. ½ÃÀÛÇϸ鼭
1.1. ÀÌ ¹®¼­ÀÇ ÃֽŠ¹öÀüÀ» ÀÔ¼öÇÏ·Á¸é?
1.2. ÀÌ ±ÛÀ» Àбâ Àü¿¡
1.3. ÀÌ ¹®¼­°¡ ÇÊ¿äÇÑ »ç¶÷Àº
2. ¾ÆÁÖ °£´ÜÇÑ ½ºÅ©¸³Æ®!!
2.1. hello world¸¦ Ãâ·ÂÇÏ´Â ½ºÅ©¸³Æ®
2.2. ¾öû³ª°Ô °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ®
3. ¸®µð·º¼ÇÀÇ ¸ðµç °Í
3.1. Á¤ÀÇ¿Í ±âº» ¼³¸í
3.2. ¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â
3.3. ¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â
3.4. ¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â
3.5. ¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â
3.6. ¿¹Á¦ : Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â
4. ÆÄÀÌÇÁ(pipes)
4.1. ÆÄÀÌÇÁ·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖÀ»±î
4.2. ¿¹Á¦ : sed¸¦ ÀÌ¿ëÇÑ ¾ÆÁÖ °£´ÜÇÑ ÆÄÀÌÇÁ ¿¹Á¦
4.3. ¿¹Á¦ : 'ls -l *.txt'ÀÇ »ö´Ù¸¥ ÇüÅÂ
5. º¯¼ö
5.1. ¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÑ Hello World! Ãâ·Â
5.2. ¿¹Á¦ : ¿©ÀüÈ÷ °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ®
5.3. Áö¿ª º¯¼ö
6. Á¶°Ç¹®
6.1. ¿äÁ¡¸¸ ¸»ÇÏÀÚ¸é
6.2. ¿¹Á¦ : ´Ü¼øÇÑ if - then Á¶°Ç¹®
6.3. ¿¹Á¦ : ´Ü¼øÇÑ if-then-else Á¶°Ç¹®
6.4. ¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÏ¿©
7. for, while, untilÀ» »ç¿ëÇÏ´Â ¼øȯ¹®
7.1. ¿¹Á¦ : for
7.2. ¿¹Á¦ : C¾ð¾î ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â for
7.3. ¿¹Á¦ : while
7.4. ¿¹Á¦.... Çϳª ´õ!
8. ÇÔ¼ö
8.1. ÇÔ¼ö ¿¹Á¦
8.2. ÀÎÀÚ¸¦ ¹Þ´Â °æ¿ì
9. »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º
9.1. select¸¦ ÀÌ¿ëÇÏ¿© °£´ÜÇÑ ¸Þ´º ¸¸µé±â
9.2. ¸í·É ÇàÀ» »ç¿ëÇÏ¿©
10. Misc
10.1. read·Î »ç¿ëÀÚ ÀÔ·Â ¹Þ±â
10.2. »ê¼ú °è»ê
10.3. bashÀÇ °æ·Î ã±â
10.4. ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ª ¹Þ±â
10.5. ¸í·É ½ÇÇà °á°ú ÀúÀåÇϱâ
10.6. ´ÙÁß ¼Ò½ºÆÄÀÏ »ç¿ëÇϱâ
11. Tables
11.1. ¹®ÀÚ¿­ ºñ±³ ¿¬»êÀÚ
11.2. ¹®ÀÚ¿­ ºñ±³ÀÇ ¿¹Á¦
11.3. »ê¼ú ¿¬»êÀÚ
11.4. »ê¼ú °ü°è ¿¬»êÀÚ
11.5. ¾µ¸ðÀÖ´Â ¸í·É
12. ¶Ç ´Ù¸¥ ½ºÅ©¸³Æ®µé...
12.1. ¿¹Á¦ : ÃÊ°£´Ü ¹é¾÷ ½ºÅ©¸³Æ®-Á¶±Ý ¹ßÀüµÈ ¹öÀü
12.2. ¿¹Á¦ : ÆÄÀÏÀ̸§ ¹Ù²Ù´Â ÇÁ·Î±×·¥(renna)
12.3. °£´ÜÇÏ°Ô ÆÄÀÏ À̸§ ¹Ù²Ù±â
12.4. ¾Æħ¸¶´Ù ½Å¹® ¸¸È­¸¦ ¹è°æ È­¸éÀ¸·Î »ç¿ëÇϱâ
13. ¹®Á¦°¡ »ý°åÀ» ¶§(µð¹ö±ë ¹æ¹ý)
13.1. ÇÁ·Î±×·¥ ÁøÇà°úÁ¤ º¸±â
14. ÀÌ ¹®¼­¿¡ ´ëÇÏ¿©
14.1. ÀÌ ¹®¼­¿¡ ´ëÇÑ Ã¥ÀÓ
14.2. ¹ø¿ª
14.3. ¿©·¯ºÐ²² °¨»çµå¸³´Ï´Ù.
14.4. ¾÷µ« °úÁ¤....
14.5. Ãß°¡ Á¤º¸

1. ½ÃÀÛÇϸ鼭


1.2. ÀÌ ±ÛÀ» Àбâ Àü¿¡

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


1.3. ÀÌ ¹®¼­°¡ ÇÊ¿äÇÑ »ç¶÷Àº

ÀÌ ¹®¼­´Â ´ÙÀ½°ú °°Àº »ç¶÷µéÀ» À§ÇÑ °ÍÀÌ´Ù.

  • ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î¸¦ ¼Ð ½ºÅ©¸³Æ®·Î ±¸ÇöÇØ º¸°íÀÚ ÇÏ´Â »ç¶÷

  • ¼Ð ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ ¸·¿¬ÇÑ °³³äÀº ÀÖÁö¸¸ Á¤¸®¸¦ ÇØ ÁÙ ÇÊ¿ä°¡ ÀÖÀ» ¶§

  • Á÷Á¢ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱ⿡ ¾Õ¼­ ¿¹Á¦¿Í Âü°íÇÒ ¸¸ÇÑ ¸»µéÀ» ÀÐ¾î º¸°í ½ÍÀ» ¶§

  • DOS/Windows »ç¿ëÀڷμ­, ¹èÄ¡ ÆÄÀÏÀ» ¸¸µé¾î º¸°íÀÚ ÇÒ ¶§

  • ³ª¿Í ÀÖ´Â ÇÏ¿ìÅõ¶õ ÇÏ¿ìÅõ´Â ´Ù ÀÐ¾î ºÁ¾ß Á÷¼ºÀÌ Ç®¸± ¸¸Å­ È£»ç°¡ÀÏ ¶§

  • ±×¸®°í ¾Æ¸¶µµ, À§¿¡ ³ª¿Í ÀÖ´Â °ü½ÉÀÖ´Â »ç¶÷µé°ú´Â »ó°ü¾øÀÌ, ¼÷Á¦ ¶§¹®¿¡ º¸´Â »ç¶÷µµ ÀÖÀ» Áö ¸ð¸£°Ú´Ù. ^_^


2. ¾ÆÁÖ °£´ÜÇÑ ½ºÅ©¸³Æ®!!

ÀÌ ÇÏ¿ìÅõ´Â ¿¹Á¦¸¦ ¹ÙÅÁÀ¸·Î ¼Ð ½ºÅ©¸³Æ® ÇÁ·Î±×·¡¹ÖÀÇ ¹æ¹ýÀ» Á¦½ÃÇÒ °ÍÀÌ´Ù.

¸ÕÀú ÀÌÇØÇϱ⠽¬¿î °£´ÜÇÑ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© ±âº» ¹®¹ýÀ» ¾Ë¾Æº¸ÀÚ.


2.1. hello world¸¦ Ãâ·ÂÇÏ´Â ½ºÅ©¸³Æ®

 
#!/bin/bash 
echo Hello World 

ÀÌ ½ºÅ©¸³Æ®´Â ´ÜÁö µÎ ÁÙ·Î µÇ¾î ÀÖÀ» »ÓÀÌÁö¸¸, ½ºÅ©¸³Æ®·Î¼­ °®Ãß¾î¾ß ÇÒ ±âº»ÀûÀÎ ¿ä¼Ò´Â °®Ãß°í ÀÖ´Ù. ¸ÕÀú ù ¹ø° ÁÙ¿¡¼­´Â ÀÌ ÆÄÀÏÀ» ½ÇÇàÇϱâ À§ÇØ ÇÊ¿äÇÑ ÇÁ·Î±×·¥ÀÇ °æ·Î¸¦ ¸í±âÇß´Ù. ¾Æ¸¶µµ ´Ùµé ¾Ë°í ÀÖ°ÚÁö¸¸, bash¶õ ¼ÐÀÇ ÀÏÁ¾À̸ç, /bin/bash´Â ÀÌ ¼ÐÀÇ ½ÇÇà ÆÄÀÏÀÌ ÀÖ´Â °æ·ÎÀÌ´Ù. ¼ÐÀº ¸í·É¾î Çؼ®±â·Î µé¾î¿À´Â ¸í·ÉÀ» Çؼ®ÇÏ¿© ÀÌ°ÍÀÌ ³»ºÎ ¸í·É¾î¶ó¸é ¹Ù·Î ½ÇÇàÀ», ¿ÜºÎ ¸í·É¾î¶ó¸é ÇØ´çÇÏ´Â ½ÇÇà ÆÄÀÏÀ» ã¾Æ ¸Þ¸ð¸®¿¡ ÇÊ¿äÇÑ ºÎºÐÀ» ÀûÀçÇÑ´Ù. ÀÌ ºÎºÐÀÌ ¾ø´Ù¸é ´ÙÀ½¿¡ ¿À´Â ¸í·ÉÀ» ½ÇÇàÇÒ ¼ö´Â ¾øÀ» °ÍÀÌ´Ù.

µÎ ¹ø° ÁÙÀº ½ÇÁ¦ÀûÀÎ ¸í·ÉÀ» ³»¸®´Â ºÎºÐÀÌ´Ù. ¿©±â¿¡¼­´Â 'Hello World'¶ó´Â ¸»À» Å͹̳ο¡ Ãâ·ÂÇ϶ó´Â ¸í·ÉÀ» ³»·È´Ù. ¹°·Ð ´Ù¸¥ ¸»·Î ¹Ù²Ù¾îµµ ÁÁÀ» °ÍÀÌ´Ù.

¿©´ã! ¿ì¸®ÀÇ ¸®´©½º Åä¹ßÁî ¾ÆÀú¾¾°¡ óÀ½ ¸¸µé¾ú´ø °Íµµ È­¸é¿¡ ¹®ÀåÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À̾ú´Ù. ¾Æ¸¶ ±× ÇÁ·Î±×·¥ÀÇ ¾÷¹öÀüÀº 'sarah is the best'¶ó´Â ¹®ÀåÀ̾ú´Ù³ª ¹¹¶ó³ª..... (»ç¶ó´Â ¸®´©½º ¾ÆÀú¾¾ÀÇ µ¿»ý À̸§ÀÌ´Ù.)

¸¸¾à¿¡ ./hello.sh: Command not found. ¿Í °°Àº ²ÃÀ» º¸°Ô µÇ¾ú´Ù¸é, ¾Æ¸¶µµ ù ¹ø° ÁÙÀÇ '#!/bin/bash'°¡ ¹®Á¦ÀÏ °ÍÀÌ´Ù. 'whereis bash'³ª 'finding bash' ¸í·ÉÀ» ³»·Á bashÀÇ °æ·Î¸¦ È®ÀÎÇØ º¸ÀÚ. ±×¸®°í ÀÌ °æ·Î¸¦ ù ¹ø° ÁÙ¿¡ ±âÀÔÇÑ´Ù. (÷°¡!'which bash'µµ ¾µ¸¸ÇÒ°ÍÀÌ´Ù. ¾û¶×¸Â°Ô bash°¡ ¾ø´Â°æ¿ì¶ó¸é, ÀÚ½ÅÀÌ ¾²°íÀÖ´Â ¼ÐÀ» ½á¶ó. ÇÏÁö¸¸ bash¸¦ ¼³Ä¡ÇÏ´Â°É ÃßõÇÑ´Ù. bash´Â ¸Å¿ì °­·ÂÇÑ ¼ÐÀÌ´Ù.)


2.2. ¾öû³ª°Ô °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ®

 
#!/bin/bash 
tar -cZf /var/my-backup.tgz /home/me/ 

ÀÌ ½ºÅ©¸³Æ®´Â Å͹̳ο¡ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ´Â ´ë½Å »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮¸¦ tar-ballÇü½ÄÀ¸·Î ¹­´Â´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ½ÇÁ¦·Î »ç¿ëÇÒ ¸¸ÇÑ °ÍÀº ¾Æ´Ï´Ù. ¸ÕÀú »ç¿ëÀÚ¿¡ µû¶ó °æ·Î¸¦ ÀÏÀÏÈ÷ Á¶ÀýÇØ¾ß Çϸç, ¿©·¯ »ç¶÷ÀÌ »ç¿ëÇÏ¸é ¹é¾÷ ÆÄÀÏÀÌ ¼­·Î µ¤¾î ¾²°Ô µÇ¾î ¹é¾÷ÀÌ ¸Á°¡Áú ¼öµµ ÀÖ´Ù. ÀÌ·± ¹é¾÷ ½ºÅ©¸³Æ®¸¦ ½ÇÁ¦·Î »ç¿ëÇÒ ¸¸ ÇÏ°Ô ¸¸µé¾î ³õÀº °ÍÀÌ µÞ ºÎºÐ¿¡ ³ª¿Ã °ÍÀÌ´Ù. ÀÌ°ÍÀº ±×³É ¿¹Á¦ÀÏ »ÓÀ̴ϱî, Çѹø ½ÃÇèÇØ º¸°í´Â ¹Ù·Î »èÁ¦ÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù.


3. ¸®µð·º¼ÇÀÇ ¸ðµç °Í

3.1. Á¤ÀÇ¿Í ±âº» ¼³¸í

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

¸ÕÀú ´ÙÀ½°ú °°Àº ³»¿ëÀ» °£´ÜÈ÷ ½ÇÇàÇØ º¸ÀÚ. ¹é¹®ÀÌ ºÒ¿©ÀÏ°ß, ¹é°ßÀÌ ºÒ¿©ÀÏÇàÀÎ ¹ý. ^^

  1. Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â

  2. Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â

  3. Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â

  4. Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â

  5. Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â

  6. Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â

  7. Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â

¸ÕÀú °£´ÜÈ÷ ¸»Çصΰڴµ¥, ¹öÆÛ¿¡ ³²¾Æ Àִ ǥÁØ Ãâ·ÂÀ̳ª Ç¥ÁØ ¿¡·¯¸¦ È­¸é¿¡ Ãâ·ÂÇØ º¸´Â °ÍÀº ¾ÆÁÖ ½±Áö¸¸, ±× ½Ãµµ¿Í µ¿½Ã¿¡ ³»¿ëÀÌ ³¯¾Æ°£´Ù´Â Á¡À» »ó±âÇÏÀÚ.


3.2. ¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» ÆÄÀÏ·Î º¸³»±â

ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¸¦ ÆÄÀÏ¿¡ ¹Ù·Î ÀúÀåÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¾ðÁ¦ ¾²¸é ÁÁÀ¸³Ä Çϸé.... ±×·¸´Ù, ¼öÄ¡Çؼ® ¼÷Á¦ ÇÒ ¶§ ÁÙÁÙÀÌ ¿¡·¯°ª ³ª¿À´Â °Í, ÀÌ ¹æ¹ýÀ¸·Î Çϸé ÆÄÀÏ¿¡ ±â·ÏÇÏ´Â ÄÚµå ¾øÀ̵µ, È­¸é ĸó µûÀ§ ÇÏÁö ¾Ê¾Æµµ ¾ÆÁÖ °£´ÜÇÏ°Ô ÇØ°áµÈ´Ù. ^^

 
ls -l > ls-l.txt 

ÀÌ ³»¿ëÀ» ½ÇÇàÇÏ°í ³ª¸é, È­¸é¿¡ 'ls -l' ¸í·ÉÀÇ ½ÇÇà °á°ú°¡ Ãâ·ÂµÇ´Â ´ë½Å 'ls-l.txt'¶ó´Â À̸§ÀÇ ÆÄÀÏÀÌ »ý±ä´Ù. ÀÌ ÆÄÀÏÀ» ¿­¾î º¸¸é ¿ø·¡ 'ls -l' À» ½ÇÇàÇßÀ» ¶§ÀÇ °á°ú°¡ ±×´ë·Î ÀúÀåµÇ¾î ÀÖ´Ù. ÀÌ·± À̸§ÀÇ ÆÄÀÏÀÌ ¿ø·¡ ÀÖ¾ú´Ù¸é, ÆÄÀÏÀÇ ¾ÕºÎºÐ¿¡ ±×´ë·Î Ãâ·Â ³»¿ëÀÌ µ¤¾î ¾º¿öÁ® ¹ö¸®´Ï ÁÖÀÇÇÏÀÚ.


3.3. ¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â

¹æ¹ýÀº ¸¶Âù°¡ÁöÀÌ´Ù. ÀÌ °æ¿ì¿¡´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â °Í »ÓÀÌ´Ù. ¿ª½Ã °°Àº ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÇØ º¸ÀÚ.

 
grep da * 2> grep-errors.txt 

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


3.4. ¿¹Á¦ : Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯·Î º¸³»±â

ÀÌ ¹æ¹ýÀº ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ» ¶§ÀÇ Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ Ãâ·Â µð½ºÅ©¸³ÅÍ ´ë½Å Ç¥ÁØ ¿¡·¯¿Í °°Àº ¹æ½ÄÀ¸·Î Ãâ·ÂÇÏ´Â °ÍÀÌ´Ù.

 
grep da * 1>&2 

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

¸®µð·º¼ÇÀ» '2>&1'°ú °°ÀÌ ÁÖ¸é Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·Â°ú °°Àº °÷À¸·Î º¸³»¶ó´Â ¶æÀ̸ç, '1>&2'ÀÇ °æ¿ì´Â Ç¥ÁØ Ãâ·ÂÀ» Ç¥ÁØ ¿¡·¯¿Í °°Àº °÷À¸·Î º¸³»¶ó´Â ¶æÀÌ´Ù.


3.5. ¿¹Á¦ : Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»±â

À§ ³»¿ëÀ» Àß ¼··ÆÇØ ¿Ô´Ù¸é »ý°¢ÇØ º¼ ÇÊ¿äµµ ¾ø´Â ºÎºÐÀÌ´Ù.

 
grep * 2>&1 

ÀÚ, Ç¥ÁØ ¿¡·¯¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»¾î ÇÔ²² Ãâ·ÂÇÏ¿´´Ù. ¸¸¾à¿¡ ÀÌ °á°ú¸¦ ÆÄÀÌÇÁ¸¦ ÅëÇØ more³ª less µîÀ¸·Î º¸³½´Ù¸é, Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯°¡ µÚ¼¯ÀÎ ÇüŸ¦ º¸°Ô µÉ °ÍÀÌ´Ù.


3.6. ¿¹Á¦ : Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ÆÄÀÏ·Î º¸³»±â

ÀÌ ³»¿ë ¿ª½Ã À§¿Í ¶È.°°.´Ù. ¶ó°í ºÁµµ ¹«¹æÇÏÁö¸¸..... ÀÌ°ÍÀ» Çѹø¿¡ ÆÄÀÏ·Î º¸³»´Â ºÎºÐÀº ÇÔ²² º¸µµ·Ï ÇÏÀÚ.

 
rm -f $(find / -name core) &> /dev/null 

µû·ÎÀÌ µð½ºÅ©¸³Å͸¦ »ç¿ëÇÒ ÇÊ¿ä ¾øÀÌ '&>'·Î ¸®µð·º¼Ç ÇÏ´Â °Í ¸¸À¸·Î ÇØ°áµÈ´Ù. ÀÌ ¹æ½ÄÀº Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ÇÔ²² ÆÄÀÏ·Î º¸³¾¶§ »ç¿ëÇÑ´Ù. ÀÌ ¸í·ÉÀ» Å©·Ð¿¡ ³Ö¾î µÎ¸é, ÀÏÁ¤ÇÑ ½Ã°£¸¶´Ù ¸ðµç µð·ºÅ丮¿¡ ÀÖ´Â core ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. ¿©±â¿¡¼­´Â Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯¸¦ ¸ðµÎ '/dev/null'·Î º¸³» ½ÇÁ¦·Î´Â ³¯·Á ¹ö¸®Áö¸¸, ±»ÀÌ ÀÌ ³»¿ëÀ» È®ÀÎÇÏ°í ½Í´Ù¸é Àû´çÇÑ ÆÄÀÏ·Î Ãâ·ÂÇÏ¿© »ìÆ캸µµ·Ï ÇÏÀÚ.


4. ÆÄÀÌÇÁ(pipes)

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


4.1. ÆÄÀÌÇÁ·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖÀ»±î

ÆÄÀÌÇÁ´Â Á¤¸» °£´ÜÇÑ ¹æ¹ýÀ¸·Î, ÇÑ ÇÁ·Î±×·¥¿¡¼­ÀÇ Ãâ·ÂÀ» ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ ÀÔ·ÂÀ¸·Î º¸³½´Ù. ÀÌ·¸°Ô "Èê·Á º¸³»±â"¶§¹®¿¡ ÆÄÀÌÇÁ´Ù.... ¶ó°í »ý°¢ÇÏ¸é µü ¸ÂÀ» °ÍÀÌ´Ù. ^^


4.2. ¿¹Á¦ : sed¸¦ ÀÌ¿ëÇÑ ¾ÆÁÖ °£´ÜÇÑ ÆÄÀÌÇÁ ¿¹Á¦

´ÙÀ½Àº ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇÏ´Â °¡Àå °£´ÜÇÑ ½Ç·ÊÀÌ´Ù.

 
ls -l | sed -e "s/[aeio]/u/g" 

±×·¯¸é Çѹø À§ ³»¿ëÀ» ÂùÂùÈ÷ »ìÆ캸ÀÚ. ¸ÕÀú 'ls -l' ¸í·ÉÀÌ ½ÇÇàµÇ¾ú´Ù. ±×¸®°í ÀÌ °á°ú´Â È­¸é¿¡ Ãâ·ÂµÇ´Â ´ë½Å, ÆÄÀÌÇÁ¸¦ Ÿ°í sed ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ¾î ´Ù½Ã Çѹø ó¸®µÈ ÈÄ È­¸é¿¡ Ãâ·ÂµÈ´Ù.


4.3. ¿¹Á¦ : 'ls -l *.txt'ÀÇ »ö´Ù¸¥ ÇüÅÂ

¾Æ¸¶µµ ÀÌ ¹æ¹ýÀº 'ls -l *.txt'¸¦ »ç¿ëÇÏ´Â °Í º¸´Ù´Â ±î´Ù·Î¿î °ÍÀÌ°ÚÁö¸¸, ÆÄÀÌÇÁÀÇ »ç¿ë¿¡ ´ëÇؼ­¸¸Å­Àº È®½ÇÈ÷ º¸¿©ÁÙ ¼ö ÀÖ´Ù.

 
ls -l | grep "\.txt$" 

¿©±â¼­ 'ls -l'ÀÇ °á°ú´Â grepÀ¸·Î ³Ñ¾î°¡, "\.txt$"¶ó´Â Á¶°Ç¿¡ ¸Â´Â °ª¸¸À» È­¸é¿¡ Ãâ·ÂÇÑ´Ù. ÀÌ °á°ú´Â 'ls -l *.txt'¿Í °°´Ù.


5. º¯¼ö

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

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


5.1. ¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÑ Hello World! Ãâ·Â

 
#!/bin/bash 
STR="Hello World!" 
echo $STR 

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


5.2. ¿¹Á¦ : ¿©ÀüÈ÷ °£´ÜÇÑ ¹é¾÷ ½ºÅ©¸³Æ®

 
#!/bin/bash 
OF=/var/my-backup-$(date +%Y%m%d).tgz 
tar -cZf $OF /home/me/ 

ÀÌ ½ºÅ©¸³Æ®´Â ¾Õ¼­ »ìÆ캻 °Í°ú´Â ÁúÀûÀ¸·Î ´Ù¸¥ ¹°°ÇÀÌ´Ù. ÀÏ´Ü ÀÌ°ÍÀº »ý¼º ³¯Â¥°¡ ÆÄÀÏ À̸§ÀÌ µÇ±â ¶§¹®¿¡ ÆÄÀϸíÀÌ Áߺ¹µÇÁö ¾Ê¾Æ, ¹é¾÷Çϱ⠿ëÀÌÇÏ´Ù. µÎ ¹ø° ÁÙÀÇ '$(date +%Y%m%d)'°¡ ¹Ù·Î ±× ºÎºÐÀÌ´Ù. ¸ÅÀÏ ÆÄÀÏ À̸§ÀÌ ´Þ¶óÁø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. date´Â ¿øÇÏ´Â ´ë·Î ¿É¼ÇÀ» Á¶ÀýÇÏ¿© ´Ù¸¥ Æ÷¸ËÀ¸·Î Ãâ·ÂÇÒ ¼öµµ ÀÖÀ¸´Ï È®ÀÎÇØ º¸ÀÚ. ¶ÇÇÑ ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ¸í·É ½ÇÇà °úÁ¤ÀÌ È­¸é¿¡ ±×´ë·Î Ãâ·ÂµÈ´Ù´Â Á¡µµ Âü°íÇØ µÎÀÚ.

Âü°íÇÒ ¸¸ÇÑ °ÍÀ» Á» º¸ÀÚ. ´ÙÀ½ ³»¿ëÀ» °¢°¢ Á÷Á¢ ½ÇÇàÇØ º¸ÀÚ.

 
echo ls 
echo $(ls) 

¹«¾ùÀÌ ´Ù¸¥Áö È®ÀÎÇÏ°í, ¿Ö ´Ù¸¥Áöµµ ¾Ë¾Æº¸ÀÚ.


5.3. Áö¿ª º¯¼ö

Áö¿ª º¯¼ö´Â localÀ̶ó´Â Å°¿öµå¸¦ »ç¿ëÇÏ¿© »ý¼ºµÈ´Ù.

 
#!/bin/bash 
HELLO=Hello 
function hello { 
local HELLO=World 
echo $HELLO 
} 
echo $HELLO 
hello 
echo $HELLO 

ÀÌ ¿¹Á¦´Â Áö¿ª º¯¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ °ÍÀÌ´Ù. ÀÌ¹Ì ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ Á¶±ÝÀÌ¶óµµ ´Ù·ç¾î º¸¾Ò´Ù¸é ÀÌ·± ¹æ½ÄÀÇ Äڵ带 º» ÀûÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¿©±â¿¡¼­´Â ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¹æ¹ý¿¡µµ ÁÖÀÇÇÏÀÚ.


6. Á¶°Ç¹®

Á¶°Ç¹®Àº ¾î¶² ÀÏÀ» ¼öÇàÇϴ°¡ ȤÀº ÇÏÁö ¾Ê´Â°¡ÀÇ ¹®Á¦¸¦ Ç¥ÇöÇϱâ À§ÇÑ ¹æ¹ýÀÌ´Ù.


6.1. ¿äÁ¡¸¸ ¸»ÇÏÀÚ¸é

Á¶°Ç¹®Àº ´Ù¾çÇÑ Çü½ÄÀ¸·Î Ç¥ÇöÇÒ ¼ö ÀÖÁö¸¸ °¡Àå ´ëÁßÀûÀ¸·Î »ç¿ëÇÏ´Â °ÍÀº ´ÙÀ½°ú °°Àº Çü½ÄÀÌ´Ù.

if expression then statement

'statement'´Â 'expression'¿¡ ÇØ´çÇÏ´Â Á¶°ÇÀÌ ÃæÁ·µÇ¾úÀ» ¶§¸¸ ½ÇÇàµÈ´Ù. C¾ð¾î Ã¥ »ç¼­ ù À常 º¸°í ¼Õ ¾È´í ºÐÀ̶ó ÇÒÁö¶óµµ ±¸°æÇØ º¸¼ÌÀ» ¸¸ÇÑ Çü½ÄÀÌ´Ù.

Á¶°Ç¹®ÀÇ Çü½Ä Áß¿¡´Â ´ÙÀ½°ú °°Àº °Íµµ ÀÖ´Ù.

if expression then statement1 else statement2.

ÀÌ°Í ¿ª½Ã ¸¹ÀÌµé º¸½Å ÇüÅÂÀÌ°ÚÁö¸¸, 'expression'¿¡ ÇØ´çÇÏ´Â Á¶°ÇÀÌ ÃæÁ·µÇ¸é 'statement1'ÀÌ ½ÇÇàµÇ°í, ±×·¸Áö ¾ÊÀ¸¸é 'statement2'°¡ ½ÇÇàµÇ´Â ¹æ½ÄÀÌ´Ù.

¾Õ¼­ ¸»ÇÑ °Í º¸´Ù Á¶±Ý ´õ ÁøÈ­µÈ ÇüŸ¦ »ìÆ캸ÀÚ¸é ´ÙÀ½°ú °°´Ù. if expression1 then statement1 else if expression2 then statement2 else statement3. ÀÌ ¹æ½Ä¿¡¼­µµ 'expression1'À» ÃæÁ·Çϸé 'statement1'ÀÌ ½ÇÇàµÈ´Ù´Â Á¡¿¡¼­´Â ¾Õ¼­ »ìÆ캻 ¿¹¿Í °°´Ù. ±×·¯³ª 'expression1'ÀÌ ÃæÁ·µÇÁö ¾ÊÀ» °æ¿ì¿¡´Â 'expression2'¶ó´Â »õ·Î¿î Á¶°ÇÀÌ ³ªÅ¸³­´Ù. ¸¸ÀÏ ÀÌ·¸°Ô 'expression2'¿Í ºñ±³ÇÏ¿© Á¶°ÇÀ» ÃæÁ·Çϸé statement2'°¡ ½ÇÇàµÇÁö¸¸ ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â 'statement3'ÀÌ ½ÇÇàµÈ´Ù. ÀÌ °úÁ¤Àº 'else if'¶ó´Â ³à¼®À» ÀÌ¿ëÇϴµ¥, 'else if'¸¦ ¾ó¸¶µçÁö Ãß°¡ÇÏ¿© ´Ù¾çÇÑ ºÐ±â¸¦ ¸¸µé ¼ö ÀÖ´Ù.

°£´ÜÇÑ ¹®¹ý Çü½ÄÀ» º¸µµ·Ï ÇÏÀÚ.

bash¿¡¼­ if¸¦ »ç¿ëÇÒ ¶§¿¡´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ÀÛ¼ºÇÑ´Ù.

if [expression];

then

('expression'ÀÌ ÂüÀ϶§ ½ÇÇàÇÒ ÄÚµå )

fi


6.2. ¿¹Á¦ : ´Ü¼øÇÑ if - then Á¶°Ç¹®

 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
fi 

ÀÌ ÄÚµå´Â if µÚ¿¡ ³ª¿Â Á¶°ÇÀÌ ÂüÀ϶§ 'expression evaluated as true' ¶ó´Â ¹®ÀåÀ» Ãâ·ÂÇÏ´Â ³»¿ëÀÌ´Ù. º¸¸é ¾Ë°ÚÁö¸¸ Á¶°Ç µÚ¿¡´Â 'then'À̶ó°í ÀûÇôÀÖ°í, Á¶°ÇÀÌ ÂüÀ϶§ ½ÇÇàÇÒ ³»¿ëÀ» ÀûÀº µÚ¿¡´Â 'fi'¶ó°í Àû¾î Á¶°Ç¹®ÀÌ ³¡³µÀ½À» ¾Ë·ÁÁØ´Ù.


6.3. ¿¹Á¦ : ´Ü¼øÇÑ if-then-else Á¶°Ç¹®

 
#!/bin/bash 
if [ "foo" = "foo" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi 


6.4. ¿¹Á¦ : º¯¼ö¸¦ »ç¿ëÇÏ¿©

 
#!/bin/bash 
T1="foo" 
T2="bar" 
if [ "$T1" = "$T2" ]; then 
echo expression evaluated as true 
else 
echo expression evaluated as false 
fi 


7. for, while, untilÀ» »ç¿ëÇÏ´Â ¼øȯ¹®

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

for¸¦ »ç¿ëÇÑ ¼øȯ¹®ÀÇ °æ¿ì ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÒ ¶§¿Í Á» ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù. ¿¹ÄÁ´ë ¹®ÀÚ¿­¿¡¼­ÀÇ °¢ ´Ü¾î¸¦ Áö³ªÃÄ°¡¸ç ¹®ÀÚ¿­ÀÌ ³¡³¯ ¶§ ±îÁö ·çÇÁ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

whileÀÇ Á¶°ÇÀÌ ÂüÀÎ µ¿¾È¿¡´Â °è¼Ó ·çÇÁ ¾ÈÀÇ ¸í·ÉÀÌ µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸ Á¶°ÇÀÌ °ÅÁþÀÎ °æ¿ì ·çÇÁ´Â ¹Ù·Î ÁßÁöµÇ°í ·çÇÁ ¹ÛÀÇ Äڵ带 ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.

untilµµ µûÁö°í º¸¸é °°Àº ¸Æ¶ôÀ̱â´Â ÇÏÁö¸¸, ÀÌ °æ¿ì¿¡´Â Á¶°ÇÀÌ °ÅÁþÀÎ µ¿¾È ·çÇÁ°¡ µ¿ÀÛÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.

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


7.1. ¿¹Á¦ : for

 
#!/bin/bash 
for i in $( ls ); do 
echo item: $i 
done 

µÎ ¹ø° ÁÙ¿¡¼­ ƯÀÌÇÑ º¯¼ö¸¦ Çϳª º¼ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº lsÀÇ ½ÇÇà °á°ú¸¦ Åë°·Î º¯¼ö·Î ¹Þ°í ÀÖ´Ù. ¿©±â¿¡¼­ $i´Â ls ÀÇ ½ÇÇà °á°ú¸¦ ¼ø¼­´ë·Î ÇÑ ´Ü¾î¾¿ ¹Þ´Â´Ù.

¼¼ ¹ø° ÁÙÀº ·çÇÁ°¡ ÁøÇàµÇ´Â µ¿¾È ½ÇÇàÇÒ ³»¿ëÀÌ´Ù. ¿©±â¿¡¼­´Â ÇÑ Á٠¥¸®·Î µÇ¾î ÀÖÁö¸¸ ÇÊ¿ä¿¡ µû¶ó ¸î ÁÙÀÌ°í Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¾ó¸¶µçÁö Ãß°¡ÇÑ ´ÙÀ½, ¸¶Áö¸· ³»¿ëÀÇ ´ÙÀ½ ÁÙ¿¡ doneÀ» ÀÔ·ÂÇÏ¿© ·çÇÁ°¡ ³¡À̶ó°í ¾Ë·Á ÁÖ¸é µÈ´Ù.

¸¶Áö¸· ÁÙÀÇ 'done'Àº, $i°¡ Áö±Ý ¹Þ¾Æ¼­ »ç¿ëÇÑ º¯¼ö´Â Æó±âÇÏ°í »õ·Î¿î º¯¼ö¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù´Â ¶æÀÌ´Ù. done ÀÌÀü¿¡ ÀÖ´ø ³»¿ëÀº ½ÇÇàµÇ¾ú°í, ÀÌÁ¦ ´Ù½Ã »õ º¯¼ö¸¦ ³Ö¾î °°Àº ³»¿ëÀ» ÁøÇàÇÒ °ÍÀÌ´Ù.

ÀÌ ½ºÅ©¸³Æ®´Â Á¤¸» ´Ü¼øÇϱâ ¦ÀÌ ¾øÁö¸¸, ·çÇÁ¿¡ ´ëÇØ ÇÊ¿äÇÑ ³»¿ëÀº ´Ù ±¸»öÀÌ °®ÃçÁ® ÀÖ´Ù. ÀÌ ³»¿ë¸¸ Á¦´ë·Î ÀÌÇØÇصµ ±âº»ÀûÀ¸·Î ·çÇÁ¸¦ »ç¿ëÇÏ´Â µ¥¿¡´Â ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.


7.2. ¿¹Á¦ : C¾ð¾î ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â for

ÀÌ·± ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â forµµ Çѹø »ý°¢ÇØ º¸ÀÚ. ÀÌ°ÍÀº C³ª Perl¿¡¼­ »ç¿ëÇÏ´Â ¹æ½Ä°ú ºñ½ÁÇÑ ±¸¼®ÀÌ ¸¹´Ù.

 
#!/bin/bash 
for i in `seq 1 10`; 
do 
echo $i 
done 


7.3. ¿¹Á¦ : while

 
#!/bin/bash 
COUNTER=0 
while [ $COUNTER -lt 10 ]; do 
echo The counter is $COUNTER 
let COUNTER=COUNTER+1 
done 

ÀÌ ½ºÅ©¸³Æ®´Â C³ª ÆĽºÄ®, Perl µîÀÇ À¯¸íÇÑ ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ½ÄÀ» Èä³»³»°í ÀÖ´Ù.


7.4. ¿¹Á¦.... Çϳª ´õ!

 
#!/bin/bash 
COUNTER=20 
until [ $COUNTER -lt 10 ]; do 
echo COUNTER $COUNTER 
let COUNTER-=1 
done 


8. ÇÔ¼ö

´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­´Â ³í¸®ÀûÀÎ È帧°ú Àç±Í Ç¥Çö µîÀ» À§ÇØ ÇÔ¼ö¶ó´Â À̸§À¸·Î Äڵ带 ¹­¾î »ç¿ëÇÏ´Â ÀÏÀÌ ¸¹´Ù.

ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â µ¥¿¡´Â ½É¶õÇÏ°í ¾î·Á¿î ¹æ¹ý °°Àº °ÍÀº ÀüÇô ÇÊ¿äÇÏÁö ¾Ê´Ù. ´ÜÁö ÀÌ·¸°Ô ÀÔ·ÂÇÒ ¼ö¸¸ ÀÖÀ¸¸é µÈ´Ù. function my_func { my_code } ÇÏ°í ¸»ÀÌ´Ù.

ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§´Â ´Ù¸¥ ÇÁ·Î±×·¥À» È£ÃâÇÏ´Â °Í°ú ¶È°°ÀÌ À̸§À» Àû¾îÁÖ¸é µÈ´Ù.


8.1. ÇÔ¼ö ¿¹Á¦

 
#!/bin/bash 
function quit { 
exit 
} 
function hello { 
echo Hello! 
} 
hello 
quit 
echo foo 

2~4ÁÙÀº 'quit' ÇÔ¼öÀ̸ç, 5~7ÁÙÀº 'hello' ÇÔ¼öÀÌ´Ù. ÀÌ ½ºÅ©¸³Æ®°¡ ¹«½¼ ¶æÀÎÁö Àß ÀÌÇØ°¡ °¡Áö ¾Ê´Â´Ù¸é, ¹é¹®ÀÌ ºÒ¿©ÀÏ°ßÀÌ´Ù. Çѹø ½ÇÇàÇØ º¸¸é ¹«½¼ ¸»ÀÎÁö ´Ù ¾Ë °ÍÀÌ´Ù.

ÇÔ¼ö¸¦ ¼±¾ðÇÏ´Â µ¥¿¡´Â Ưº°È÷ ½Å°á ¾µ ¸¸ÇÑ ÀÏÀº ÀüÇô ¾ø´Ù. ³Ñ¾î°¡ÀÚ.

ÀÌ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ¸é ¸ÕÀú hello ÇÔ¼ö°¡ È£ÃâµÇ°í ´ÙÀ½À¸·Î quit ÇÔ¼ö°¡ È£ÃâµÈ´Ù. 10¹ø° ÁÙÀº °áÄÚ ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.


8.2. ÀÎÀÚ¸¦ ¹Þ´Â °æ¿ì

 
#!/bin/bash 
function quit { 
exit 
} 
function e { 
echo $1 
} 
e Hello 
e World 
quit 
echo foo 

ÀÌ ½ºÅ©¸³Æ®´Â ¹æ±Ý Àü¿¡ »ìÆì º» °Í°ú ¸Å¿ì ºñ½ÁÇÏ´Ù. °¡Àå Å« Â÷ÀÌ´Â 'e'¶ó´Â À̸§ÀÇ ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö´Â ¹Þ¾ÆµéÀΠù ¹ø° ÀÎÀÚ¸¦ Ãâ·ÂÇÑ´Ù.


9. »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º

9.1. select¸¦ ÀÌ¿ëÇÏ¿© °£´ÜÇÑ ¸Þ´º ¸¸µé±â

 
#!/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 

ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ¿©·¯ºÐÀº ÇÁ·Î±×·¡¸ÓÀÇ ·Î¸Á(-_-;;;)ÀÎ ÅؽºÆ® ±â¹ÝÀÇ ¸Þ´º¸¦ º¸°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ À§ ³»¿ëÀº for¸¦ »ç¿ëÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î $OPTIONÀ» ÀÌ¿ëÇÏ¿© °¢ ´Ü¾î¸¦ ¹Þ¾ÒÁö¸¸, »ç¿ëÀÚ¿¡°Ô ÀÔ·ÂÀ» ¹Þ¾Æ ¼±ÅÃÇÏ°Ô ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.


9.2. ¸í·É ÇàÀ» »ç¿ëÇÏ¿©

 
#!/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 

ÀÌ ÇÁ·Î±×·¥ÀÇ Ã¹ ¹ø° ºÐ±â´Â ÀÌ°ÍÀÌ ($1)ÀÇ °ªÀ» ¹ÝȯÇÒ ¼ö Àִ°¡¸¦ È®ÀÎÇÏ¿© °ªÀ» ¹ÝȯÇÒ °æ¿ì¿¡´Â ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ªÀº °æ°í¹®°ú ÇÔ²² ½ºÅ©¸³Æ®¸¦ °è¼Ó ÁøÇàÇØ ³ª°£´Ù.


10. Misc

10.1. read·Î »ç¿ëÀÚ ÀÔ·Â ¹Þ±â

¸¹Àº °æ¿ì ÇÁ·ÒÇÁÆ® »ó¿¡¼­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æ¾ß ÇÒ Áöµµ ¸ð¸¥´Ù. ´ÙÀ½Àº ÇÁ·ÒÇÁÆ®¿¡¼­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â ¹æ¹ýÀÌ´Ù.

 
#!/bin/bash 
echo Please, enter your name 
read NAME 
echo "Hi $NAME!" 

ÀÌ ¹æ¹ýÀº 2°³ ÀÌ»óÀÇ ÀÔ·ÂÀ» µ¿½Ã¿¡ ¹Þ¾Æ µéÀÏ ¼ö ÀÖ´Ù.

 
#!/bin/bash 
echo Please, enter your firstname and lastname 
read FN LN 
echo "Hi! $LN, $FN !" 


10.2. »ê¼ú °è»ê

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

echo 1 + 1

¹¹°¡ ³ª¿À°Ú´Â°¡? ÀÔ·ÂÇÑ ±×´ë·Î ³ª¿Í ¹ö¸°´Ù! Èì, ÀÌ °æ¿ì¿¡ 2¶ó´Â °á°ú°¡ ³ª¿Â´Ù¸é ¹º°¡ ½Ç¼öÇÑ °Å´Ù. ±×·¸´Ù¸é ¾î¶»°Ô Çϸé ÀÌ °è»êÀÇ °á°ú¸¦ È­¸é¿¡¼­ º¼ ¼ö ÀÖÀ»±î. ¹æ¹ýÀº °£´ÜÇÏ´Ù. ÀÌ°ÍÀÌ ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¶ó °è»êÀ̶ó´Â °ÍÀ» ÀνÄÇÏ¸é µÇ´Â °ÍÀÌ°í, ´õ ³ª¾Æ°¡ ÀÌ °è»êÀ» º¯¼ö¿¡ ³Ö¾î ¹ö¸®¸é echo ¸í·ÉÀ¸·Î º¼ ¼ö ÀÖ´Â °ÍÀº ÀÎÁö»óÁ¤ÀÎ °ÍÀÌ´Ù. ^^ ±×·¸´Ù~! ´äÀº ¹Ù·Î Àú°ÍÀÌ´Ù!

echo $((1+1))

Á» ´õ ³í¸®ÀûÀÌ°í Á¦´ë·Î µÈ ¹æ¹ýÀº Àú°ÍÀÌ´Ù. ¼öÇÐÀûÀΠǥÇöÀ¸·Î ÇÑ ¹æ¿¡ ÀνÄÇØ ¹ö¸°´Ù. È¿°ú´Â È®½ÇÇÏ´Ù!!

echo $[1+1]

³ª´°¼ÀÀ» Á¦´ë·Î ÇÏ°í ½Í°Å³ª ȤÀº ´õ º¹ÀâÇÑ ¼öÇÐ °è»êÀ» ÇÏ°í ½Í´Ù¸é ¼öÇÐÀûÀÎ °è»êÀ» bc¿¡¼­ ó¸®ÇØ ¹ö¸®´Â °ÍÀÌ Çö¸íÇÏ´Ù. ¾Æ´Â ºÐÀº ´Ù ¾Æ´Â À̾߱âÀÌÁö¸¸ ¸ð¸£´Â ºÐÀ» À§ÇØ ¾ÆÁÖ Âª°Ô ¶°µé¾î º¸°Ú´Ù. bc´Â Å͹̳ο¡¼­ ±×³É ÀÔ·ÂÇؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Â °è»ê±â·Î¼­, ¾ÆÁÖ Á¤¹ÐÇÑ ¼Ò¼öÁ¡ °è»ê±îÁö ÇÒ ¼ö ÀÖ°í, °øÇÐ °è»êµµ ½Ä¸¸ ¼¼¿ï ¼ö ÀÖ´Ù¸é À¢¸¸Çϸé Ç® ¼ö Àִµ¥´Ù°¡ ¸¶Ä¡ ¼öÇÐ ÆÐÅ°Áö¸¦ »ç¿ëÇϵíÀÌ, ¾î´À Á¤µµ °£´ÜÇÑ ½ºÅ©¸³Æ® ÇüŸ¦ ¸¸µé¾î ¼öÇÐ °è»êÀ» ÇÒ ¼öµµ ÀÖ´Â, ±×¾ß¸»·Î ³¡³»ÁÖ´Â ¹°°ÇÀÌ´Ù. À̾߱Ⱑ ±æ¾îÁ³´Âµ¥, ¹é°ßÀÌ ºÒ¿©ÀÏÇàÀ̶ó°í ¹¹°¡ ´Ù¸¥Áö Çѹø º¸±â³ª ÇÏÀÚ.

3/4¸¦ °è»êÇÑ´Ù°í "echo $[3/4]" ¶ó°í ÀÔ·ÂÇØ º¸ÀÚ. ¿ø·¡ Á¤»óÀûÀÎ ´äÀº 0.75ÀÌ°ÚÁö¸¸ ¿©±â¿¡¼­´Â ¸ÛûÇÏ°Ôµµ 0À̶ó°í ³ª¿Ã °ÍÀÌ´Ù. ±×µµ ±×·² °ÍÀÌ, ¹è½¬¿¡¼­´Â ¿ÀÁ÷ Á¤¼ö °è»ê¸¸ ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. "echo 3/4|bc -l"¶ó°í ÀÔ·ÂÇÏ¿© ÀÌ ³»¿ëÀ» bc·Î º¸³»¸é 0.75¶ó´Â ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù.


10.3. bashÀÇ °æ·Î ã±â

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

¿ì¸®´Â ´ë°³ ½ºÅ©¸³Æ®ÀÇ Ã¹ ÁÙ¿¡ #!/bin/bash ¶ó°í ÀÔ·ÂÇÏÁö¸¸, ¿©±â¿¡¼­´Â ´Ù¸¥ °æ·Î¿¡ bash°¡ ÀÖÀ» ¶§ ±×°ÍÀ» ã¾Æ³»´Â ¹æ¹ýÀ» °£´ÜÈ÷ ¤°í ³Ñ¾î°¡°Ú´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­´Â /bin/bashÀÇ °æ·Î¿¡ ÀÖ°ÚÁö¸¸, ¸ðµç ½Ã½ºÅÛÀÌ ±×·¸´Ù°í´Â ¸»ÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.

'find ./ -name bash' ¸í·ÉÀº ·çÆ® µð·ºÅ丮ºÎÅÍ ¸ðµç µð·ºÅ丮¸¦ ¾µ¾î³»¸®¸ç bash¸¦ ã´Â´Ù. ±×·¯³ª ÀÌ·¸°Ô ±îÁö ÇÒ °ÍÀº ¾ø´Ù. bash°¡ ÀÖ´Â À§Ä¡¶ó´Â °ÍÀº ´ë°³ ´ÙÀ½ Áß ÇϳªÀÎ °ÍÀÌ´Ù. ÀÌ °æ·Î¸¦ ¸ðµÎ È®ÀÎÇØ º¸°íµµ ¾øÀ» ¶§¿¡¾ß find¸¦ ½á º¸ÀÚ. »ç½Ç, ¸ðµç µð·ºÅ丮¸¦ È®ÀÎÇÏ´Â °ÍÀº Á» ½Ã°£ ³¶ºñ´Ù.

ls -l /bin/bash

ls -l /sbin/bash

ls -l /usr/local/bin/bash

ls -l /usr/bin/bash

ls -l /usr/sbin/bash

ls -l /usr/local/sbin/bash

ȤÀº 'which bash'¸¦ »ç¿ëÇÏ¿© ãÀ» ¼öµµ ÀÖ´Ù. ÃëÇâ¿¡ µû¶ó ½á º¸ÀÚ.


10.4. ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ª ¹Þ±â

bash¿¡¼­, ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ªÀº Ưº°ÇÑ º¯¼öÀÎ $?·Î ¹Þ´Â´Ù.

´ÙÀ½Àº ¾î¶»°Ô ÇÁ·Î±×·¥ÀÌ µÇµ¹¸®´Â °ªÀ» ¹Þ¾Æ³»´À³Ä¸¦ º¸¿© ÁÖ´Â °ÍÀÌ´Ù. ³ª´Â ¿©±â¿¡¼­ dada ¶ó´Â µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù°í °¡Á¤ÇÏ°Ú´Ù. È­¸é¿¡ ¹º°¡ ³ª¿ÀÁö ¾Ê´Â°¡?

 
#!/bin/bash 
cd /dada &> /dev/null 
echo rv: $? 
cd $(pwd) &> /dev/null 
echo rv: $? 


10.5. ¸í·É ½ÇÇà °á°ú ÀúÀåÇϱâ

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

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


10.6. ´ÙÁß ¼Ò½ºÆÄÀÏ »ç¿ëÇϱâ

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

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


11. Tables

11.1. ¹®ÀÚ¿­ ºñ±³ ¿¬»êÀÚ

(1) s1 = s2

(2) s1 != s2

(3) s1 < s2

(4) s1 > s2

(5) -n s1

(6) -z s1

Áö±Ý ¼³¸íÇÏ´Â ³»¿ëÀº ¹®ÀÚ¿­À» ºñ±³ÇÏ´Â ¿¬»êÀÚÀÌ´Ù. ÀÌ ¿¬»êÀÚ¸¦ ¹®Àå Çü´ë·Î ¹Ù²Ù¸é ´ÙÀ½°ú °°´Ù.

(1) s1 matches s2

(2) s1 does not match s2

(3) __TO-DO__

(4) __TO-DO__

(5) s1 is not null (contains one or more characters)

(6) s1 is null


11.2. ¹®ÀÚ¿­ ºñ±³ÀÇ ¿¹Á¦

´ÙÀ½Àº ¹®ÀÚ¿­ $S1°ú $S2¸¦ ºñ±³ÇÏ´Â ¿¹Á¦ÀÌ´Ù.

 
#!/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 
º¸ÅëÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ¹ý°ú ¾ÆÁÖ ºñ½ÁÇÏ´Ù.

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

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


11.3. »ê¼ú ¿¬»êÀÚ

+

-

*

/

% (remainder)


11.4. »ê¼ú °ü°è ¿¬»êÀÚ

-lt (<)

-gt (>)

-le (<=)

-ge (>=)

-eq (==)

-ne (!=)

C ¾ð¾î¸¦ »ç¿ëÇÏ´Â »ç¶÷À̶ó¸é ÀÌ°ÍÀÌ ¹«½¼ ÀǹÌÀÎÁö ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´õ¶óµµ ÀÌ ±ÛÀ» ÀÐÀ» Á¤µµÀÇ »ç¶÷À̶ó¸é ºÐ¸í ¹«½¼ ¸»ÀÎÁö ¾Ë°í ÀÖÀ» Å×´Ï ³Ñ¾î°¡ÀÚ. ^^


11.5. ¾µ¸ðÀÖ´Â ¸í·É

ÀÌ ºÎºÐÀº Å°Áî°¡ ³»¿ëÀ» ¼öÁ¤ÇÏ¿© ´Ù½Ã ½á ÁÖ¾ú´Ù.

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

sed

sed´Â ºñ´ëÈ­Çü(non-interactive) ¸ðµåÀÇ ¶óÀÎ ÆíÁý±âÀÌ´Ù. ¶ÇÇÑ ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ¾î ¼Ð ÇÁ·Î±×·¡¹Ö¿¡¼­ ¾ÆÁÖ Àß! »ç¿ëÇÒ ¼ö ÀÖ´Â µµ±¸ÀÌ´Ù. ¸ÕÀú °£´ÜÈ÷ ¿¹Á¦¸¦ »ìÆ캸ÀÚ.

 
$sed 's/to_be_replaced/replaced/g' /tmp/dummy 

Sed ´Â /tmp/dummy ÆÄÀÏÀ» Àоîµé¿© 'to_be_replaced'¶ó´Â ¹®ÀÚ¿­À» 'replaced'·Î °£´ÜÈ÷ ¹Ù²ã ¹ö¸°´Ù. ÀÌ °á°ú´Â ±×³É È­¸é¿¡ Ãâ·ÂµÉ »ÓÀ̹ǷÎ, ÆÄÀÏ·Î ÀúÀåÇϱâ À§Çؼ­´Â À§ ¸í·ÉÀÇ ³¡¿¡ '> ÆÄÀÏÀ̸§'À» Ãß°¡ÇØ¾ß ÇÒ °ÍÀÌ´Ù. Àû´çÇÑ ÆÄÀÏ À̸§À» ³Ö¾î ÁÖ¸é ±× À̸§À¸·Î ÀÌ °á°ú°¡ ÀúÀåµÉ °ÍÀÌ´Ù.

 
$sed 12, 18d /tmp/dummy 

Sed ´Â ¿øº» ÆÄÀÏ¿¡¼­ 12¿¡¼­ 18ÁÙ ±îÁö¸¦ Á¦¿ÜÇÑ ¸ðµç ÁÙÀ» º¸¿©ÁØ´Ù.

awk

awk´Â C ¾ð¾î¿Í ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÏ´Â, ÅؽºÆ® ó¸® ¾ð¾îÀÌ´Ù. awk´Â ÆÐÅÏÀ» °Ë»öÇÏ¿© °°Àº °ÍÀ» ã¾Æ ó¸®ÇÑ´Ù´Â Á¡¿¡¼­´Â °£´ÜÇÑ ±â´ÉÀ» °¡Áø °Í ó·³ º¸ÀÌÁö¸¸, »ç½Ç ¾ÆÁÖ Á¤±³ÇÏ°Ô µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.

ÀÚ, ´ÙÀ½ ÇàÀ» /tmp/dummy ÆÄÀÏ¿¡ Áý¾î³ÖÀÚ.

"test123

test

tteesstt"

 
$awk '/test/ {print}' /tmp/dummy 

test123

test

awk´Â test°¡ Æ÷ÇÔµÈ ÁÙÀ» È­¸é¿¡ Ãâ·ÂÇÏ¿´´Ù. ±×·¯³ª ÀÌ°ÍÀº awkÀÇ ±â´É Áß¿¡¼­´Â °¡Àå ´Ü¼øÇÑ ºÎºÐ¿¡ ¼ÓÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´Ù¸¥ ¹®¼­¸¦ Âü°íÇϵµ·Ï ÇÏ°í, ¿©±â¿¡¼­´Â ÇÑ °¡Áö¸¸ ´õ »ìÆì º¸°í ³Ñ¾î°¡°Ú´Ù.

 
$awk '/test/ {i=i+1} END {print i}' /tmp/dummy 

3

´Ù¾çÇÑ ÆÐÅÏÀ» °Ë»öÇϱâ À§ÇØ '-f file.awk'¿Í °°Àº ½ÄÀ¸·Î ÆÄÀÏ À̸§À» ÁöÁ¤ÇÏ°í, ÀÌ ÆÄÀÏ ¾È¿¡ ÇÊ¿äÇÑ ÆÐÅÏÀ» ¸ðµÎ ÀÔ·ÂÇØ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

grep

¹°·Ð grep¿¡ ´ëÇؼ­´Â µû·Î ¼³¸íÇÒ ÇÊ¿ä°¡ ¾øÀ» Áöµµ ¸ð¸£°Ú´Ù. ÇØ´çµÇ´Â ¹®ÀÚ¿­ÀÌ ÀÖ´Â ÇàÀ» ¹ÝȯÇÏ´Â grep ¸í·ÉÀº ³Î¸® ¾²ÀÌ°í ÀÖÀ¸´Ï±î. ÇÏÁö¸¸ grepÀº ´Ù¸¥ ´Ù¾çÇÑ ±â´Éµµ ¹ßÈÖÇÒ ¼ö ÀÖ´Ù.

 
$grep "look for this" /var/log/messages -c 

12

"look for this"¶ó´Â ¹®ÀåÀÌ /var/log/messages¶ó´Â ÆÄÀÏ ¾È¿¡¼­ 12¹ø ¹ß°ßµÇ¾ú´Ù´Â ¶æÀÌ´Ù.

wc

ÀÌ ¸í·ÉÀº ´Ü¾î ¼ö¸¦ ¼¼¾î ÁÖ´Â ¸í·ÉÀÌ´Ù. ¾î´À ¿Ü±¹ Ã߸® ¼Ò¼³¿¡¼­, ´Ü¾î´ç 5¼¾Æ®¸¦ ¹Þ´Â ÀÛ°¡ÀÇ À̾߱Ⱑ ³ª¿À±âµµ Çߴµ¥, Á¤¸» ¿ø°í·á¸¦ Ã¥Á¤ÇÒ ¶§ »ç¿ëÇÒ Áöµµ ¸ð¸£°Ú´Ù. ´ÙÀ½°ú °°Àº ³»¿ëÀ» dummy ÆÄÀÏ·Î ÀúÀåÇÏ°í ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ. "bash introduction howto test file"

 
$wc --words --lines --bytes /tmp/dummy 

2 5 34 /tmp/dummy

sort

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

"b

c

a"

 
$sort /tmp/dummy 

À§ ¸í·ÉÀÇ °á°ú·Î ´ÙÀ½°ú °°Àº Ãâ·ÂÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

a

b

c

¶ÇÇÑ ½±Áö¸¸Àº ¾ÊÀº ³à¼®À¸·Î bcµµ ÀÖ´Ù.

Bc´Â ¸í·É Çà¿¡¼­ »ç¿ëÇÏ´Â °è»ê±âÀÌ´Ù. ÆÄÀÏÀ̳ª Á÷Á¢ ÀԷ ȤÀº ¸®µð·º¼ÇÀ¸·Î ÀÔ·Â¹Þ¾Æ Ã³¸®ÇÑ´Ù. -q ¿É¼ÇÀ» »ç¿ëÇϸé óÀ½ ½ÃÀÛÇÒ ¶§ ³ª¿À´Â ¸Þ½ÃÁö¸¦ ¾È º¸°í ³Ñ¾î°¥ ¼ö ÀÖ´Ù.

 
$bc -q 

1 == 5

0

0.05 == 0.05

1

5 != 5

0

2 ^ 8

256

sqrt(9)

3

while (i != 9) {

i = i + 1;

print i

}

123456789

quit

tput (initialize a terminal or query terminfo database)


12. ¶Ç ´Ù¸¥ ½ºÅ©¸³Æ®µé...

12.1. ¿¹Á¦ : ÃÊ°£´Ü ¹é¾÷ ½ºÅ©¸³Æ®-Á¶±Ý ¹ßÀüµÈ ¹öÀü

 
#!/bin/bash 
SRCD="/home/" 
TGTD="/var/backups/" 
OF=home-$(date +%Y%m%d).tgz 
tar -cZf $TGTD$OF $SRCD 


12.2. ¿¹Á¦ : ÆÄÀÏÀ̸§ ¹Ù²Ù´Â ÇÁ·Î±×·¥(renna)

 
#!/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 


12.3. °£´ÜÇÏ°Ô ÆÄÀÏ À̸§ ¹Ù²Ù±â

ÆÄÀÏ À̸§À» ¹Ù²Ù±â À§Çؼ­´Â mv ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ´ÙÀ½ÀÇ ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÆÄÀÏ À̸§À» º¯°æÇØ º¸ÀÚ.

 
#!/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 

12.4. ¾Æħ¸¶´Ù ½Å¹® ¸¸È­¸¦ ¹è°æ È­¸éÀ¸·Î »ç¿ëÇϱâ

ÀÌ ÇÁ·Î±×·¥Àº GNOME¿¡¼­ Á¦´ë·Î µ¿ÀÛÇÑ´Ù. ´Ù¸¥ ȯ°æ¿¡¼­ »ç¿ëÇÒ ¶§¿¡´Â ȯ°æ ¼³Á¤ÆÄÀÏÀ» »õ·Î ¸¸µå´Â ºÎºÐÀ» ¼öÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ±× ³¯ÀÇ ³¯Â¥·Î ÆÄÀÏ À̸§À» ¸¸µå´Â ½Å¹® ¸¸È­ÀÇ ±ÔÄ¢¼ºÀ» ÀÌ¿ëÇÏ¿© ÆÄÀÏÀ» ¹Þ´Â ÇÁ·Î±×·¥À¸·Î, crontab¿¡ ÁöÁ¤ÇØ µÎ¸é ´õ¿í Æí¸®ÇÏ´Ù.

 
#!/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

13. ¹®Á¦°¡ »ý°åÀ» ¶§(µð¹ö±ë ¹æ¹ý)

13.1. ÇÁ·Î±×·¥ ÁøÇà°úÁ¤ º¸±â

¾î¶² ÇÁ·Î±×·¥ÀÌ ÀÌÇØÇÒ ¼ö ¾ø´Â µ¿ÀÛÀ» ÇÒ °æ¿ì, ÇÁ·Î±×·¥ÀÇ Ã¹ ÁÙÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

 
#!/bin/bash -x 

ÀÌ·± ¿É¼ÇÀº ½ÇÇà °úÁ¤¿¡¼­ÀÇ Á¤º¸¸¦ ÇϳªÇϳª Ãâ·ÂÇØ ÁÖ¾î µð¹ö±×¿¡ µµ¿òÀ» ÁØ´Ù. °¢ ÇàÀÌ ½ÇÇàµÉ ¶§ÀÇ ¹ÝÀÀÀ» ¸ðµÎ º¼ ¼ö ÀÖ¾î, ¾î´À ºÎºÐ¿¡¼­ ¹®Á¦°¡ ÀϾ´ÂÁö¸¦ È®½ÇÇÏ°Ô È®ÀÎÇÒ ¼ö ÀÖ´Ù.


14. ÀÌ ¹®¼­¿¡ ´ëÇÏ¿©

ÀÌ ¹®¼­¿¡ Ãß°¡Çϰųª Á¤Á¤ÇÏ´Â °Í, ȤÀº ÀÌ ¹®¼­¸¦ º¸°í »ý°¢³ª´Â °ÍÀº ±×³É ÆíÇÏ°Ô ¾Ë·Á ÁáÀ¸¸é ÇÑ´Ù. ÀÌ·± ³»¿ëÀº ¸ðÀ¸°í ¸ð¾Æ¼­ °¡±ÞÀû »¡¸® ¹®¼­¿¡ Ãß°¡ÇØ µÎ°Ú´Ù.


14.1. ÀÌ ¹®¼­¿¡ ´ëÇÑ Ã¥ÀÓ

ÀÌ ¹®¼­´Â ¾î¶² Á¾·ùÀÇ Ã¥ÀÓµµ ÁöÁö ¾Ê´Â´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é ÀÌ ¹®¼­¸¦ µû¶óÇÏ´Ù°¡ ¸ðÁ¾ÀÇ ºÒ»ó»ç°¡ »ý±â´õ¶óµµ Ç×ÀÇÇÏÁö ¸»¶ó´Â ¸»ÀÌ´Ù. ¸»Àº ÆíÇÏ°Ô Çϴ±º.... À̶ó´Â »ý°¢ÀÌ µé Áö´Â ¸ð¸£°ÚÁö¸¸, ¿©±â ÀÖ´Â ³»¿ëÀº ´ëü·Î ¾ÈÀüÇÏ´Ï±î ±×³É µû¶ó Çصµ ¹«¹æÇÒ °ÍÀÌ´Ù. ^^


14.2. ¹ø¿ª

ÀÌÅ»¸®¾Æ ¾î : Àª¸®¾ö °ÖÇÇ ÀÌ°÷À» ÂüÁ¶

ÇÁ¶û½º¾î : ·Î¶û ¸¶¶¿ (ÀÌ ¹®¼­´Â ¸µÅ©°¡ ±úÁ®ÀÖ´Ù.)

Çѱ¹¾î : ÀüÇýÁø http://kldp.org

½ºÆäÀξî : ºÒ¸í http://www.insflug.org

´õ ¸¹Àº ¹ø¿ªº»ÀÌ ÀÖÀ¸¸®¶ó »ý°¢ÇÏÁö¸¸, ³»°¡ ¾Æ´Â °ÍÀº ÀÌ Á¤µµ ¼±ÀÌ´Ù. ¸¸¾à¿¡ ÀÌ ¹®¼­¸¦ ¹ø¿ªÇß´Ù¸é, ±× »ç½ÇÀ» ¾Ë·ÁÁÖ¸é °í¸¿°Ú´Ù.


14.3. ¿©·¯ºÐ²² °¨»çµå¸³´Ï´Ù.

  • ´Ù¸¥ ¿©·¯ ³ª¶ó ¸»·Î ÀÌ ¹®¼­¸¦ ¹ø¿ªÇØ ÁØ ¸ðµç ºÐµé

  • À߸øµÈ ºÎºÐÀ» Á¤¸» ¿­½ÉÈ÷ Àâ¾Æ ÁØ ³ª»ê Ç㽺Ʈ

  • ¼öÇÐÀûÀΠǥÇö¿¡ ´ëÇØ Ãß°¡ ¼³¸íÀ» º¸³»ÁØ Á¸ ¾Öº¸Æ®

  • renna ½ºÅ©¸³Æ®¸¦ ¸¸µé¾î ÁØ Çãµå½¼

  • ³»¿ë Áß À߸øµÈ °ÍÀ» ±³Á¤ÇÏ¿© º¸³»ÁÖ°í ¸í·É¾î ºÎºÐÀ» ´Ù½Ã ½á ÁÖ±â±îÁö ÇÑ Å°½º ¹Ý µ§ ºê·ÚÅ©

  • BASH¿¡ ´ëÇÑ Á¶¾ðÀ» ÇØÁÖ°í Äڵ带 Å×½ºÆ® ÇØ ÁØ ¸¶ÀÌÅ© ÇÎÅ©

  • ·çÇÁ ºÎºÐÀ» ÀÛ¼ºÇÏ´Â µ¥ µµ¿òÀ» ÁÖ¾ú´ø ÇÇ¿¡½Ã

  • ¸î °¡Áö ¿¡·¯¿¡ ´ëÇØ Á¶¾ðÀ» ÇØ ÁÖ¾ú´ø ¶óÀ̾ð

  • ¼öÁ¤À» ÇØÁÖ°í ÁÖ¼®À» ´Þ¾ÆÁØ ¾Èµå·¹¾Æ½º º£Å©


14.4. ¾÷µ« °úÁ¤....

ºÎºÐÀûÀÎ ¼öÁ¤À» ÇÏ°í ¹ø¿ª ¹®¼­¿¡ ´ëÇØ »õ Á¤º¸¸¦ ³Ö¾ú´Ù.

À¯¿ëÇÑ ¸í·É¿¡ ´ëÇØ Å°½º°¡ ´Ù½Ã ½á ÁØ ¿ø°í¸¦ Ãß°¡ÇÏ¿´´Ù.

¼öÁ¤À» ÇÏ°í, ÀÇ°ßÀ» ¹Ý¿µÇÏ¿´´Ù.

¹®ÀÚ¿­ ÂÊ¿¡ ¿¹Á¦¸¦ Ãß°¡ÇÏ¿´´Ù

v0.8 ¹öÀü ¸Å±â±â¸¦ Áß´ÜÇÏ¿´´Ù. ³Î·²ÇÏ°Ô.....

v0.7 ¼öÁ¤À» ´õ ÇÏ°í Á¦´ë·Î ¾²Áö ¾Ê¾Ò´ø ¿¹Á¦ ºÎºÐÀ» Ãß°¡Çß´Ù.

v0.6 ºÎºÐ ¼öÁ¤....

v0.5 ¸®µð·º¼Ç ºÎºÐÀ» Ãß°¡ÇÏ¿´´Ù.

v0.4 ¹®¼­¸¦ linuxdoc.org »çÀÌÆ®·Î ÀÚ¸®¸¦ ¹Ù²Ù¾î ¿Ã·Á ³õ¾Ò´Ù.


14.5. Ãß°¡ Á¤º¸

¹è½¬ ÀÔ¹® http://org.laol.net/lamug/beforever/bashtut.htm

º» ¼Ð ÇÁ·Î±×·¡¹Ö http://207.213.123.70/book/


ID
Password
Join
A man who turns green has eschewed protein.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-01-16 19:15:13
Processing time 0.0022 sec