· 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
Deprive a mirror of its silver and even the Czar won't see his face.


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.0019 sec