1993.1.3

SUBJECT: UNIXÀÇ Shell

DESCRIPTION:
0. ShellÀ̶õ ?
   * ¿ø·¡ shellÀ̶õ ´Ü¾î´Â '(Á¶°³) ²®Áú'À̶õ ÀǹÌÀÌ´Ù.
     shellÀ̶õ?  ´Ü¾î ÀÇ¹Ì ±×´ë·Î ¿¬»óÇÏ¸é µÈ´Ù.
     ÇÑ »ç¿ëÀÚ¸¦ ´Ù¸¥ »ç¿ëÀڷκÎÅÍ º¸È£Çϸç,
     »ç¿ëÀÚ¿¡°Ô Æí¸®ÇÑ È¯°æÀ» Á¦°øÇÏ´Â ´Ü´ÜÇÑ º¸È£¸·(²®Áú)ÀÎ °ÍÀÌ´Ù.
   * »ç¿ëÀÚ¿Í OS Áï kernel°£¿¡ interface¸¦ Á¦°øÇϴ Ưº°ÇÑ utilityÀÌ´Ù.
     shellÀº kernel°ú Çù·ÂÇÏ¿©
     »ç¿ëÀÚ°¡ utility³ª »ç¿ëÀÚ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. 
   * shellÀ» ´Ü¼øÇÏ°Ô ¸»ÇÏÀÚ¸é,
     login½Ã or »õ window¸¦ ¶ç¿üÀ» ¶§
     »ç¿ëÀÚ¸¦ À§ÇØ ½ÃÀ۵Ǵ Ưº°ÇÑ utility¶ó°í ÇÏ°Ú´Ù.
   * shellÀÌ 'kernel ³»ºÎ¿¡ ½É¾îÁ® ÀÖÁö ¾Ê´Ù'´Â Á¡Àº
     '´Ù¾ç¼º'À̶õ À̸§À¸·Î UNIX¸¦ ´Ù¸¥ ¸¹Àº OS¿Í ±¸º°ÇØ ÁÖ°Ô µÇ¾ú´Ù.
     shellÀ» ºÐ¸®½ÃÄÑ ÁÜÀ¸·Î ÀÎÇØ default shell ÀÌ¿Ü¿¡µµ
     ¿©·¯ shellµéÀÌ ¸¸µé¾îÁú ¼ö ÀÖ¾ú°í,
     »ç¿ëÀڵ鿡°Õ ÀÌ ¿©·¯ shellµéÀ» ¼±ÅÃÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ±âȸ°¡ ÁÖ¾îÁ³´Ù.
     ¹°·Ð ´É·ÂÀÌ µÈ´Ù¸é »õ·Î¿î shellÀ» ½º½º·Î ¸¸µé¾î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

1. ShellÀÇ ±â´É
   * shellÀº ÀоîµéÀÎ command¸¦ Çؼ®(interpret)ÇÏ¿© ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÏ°Ô Çϸç.
     ÀÌ¿¡ µû¸¥ ÀÔÃâ·ÂÀ» ÅëÁ¦ÇÑ´Ù.
   * À̵é commandµéÀº prompt»óÀÇ shell¿¡¼­ Á÷Á¢ typingµÉ ¼öµµ ÀÖ°í,
     shell¿¡ ÀÇÇØ file¿¡¼­ ÀоîµéÀÏ ¼öµµ ÀÖ´Ù.
     ÀÌ ¶§ shell command¸¦ Æ÷ÇÔÇÏ´Â fileÀ»
     "shell program" = "shell script" = "shell procedure"¶ó°í ÇÑ´Ù.
   * shellÀÇ ±â´ÉÀ» ¿ä¾àÇÏÀÚ¸é,
     1) user interface·Î¼­ÀÇ command interpreter
     2) programming language
  
2. ShellÀÇ ¿ä¸ð Á¶¸ð
   * À§¿¡¼­ shellÀÌ interpreterµÈ´Ù°í ÇÏ¿´´Âµ¥
     ÀÌ´Â command¸¦ Çϳª¾¿ ÀÐ°í ½ÇÇàÇÏ´Â °ÍÀ¸·Î
     ¸¸¾à error°¡ ¹ß»ýÇÑ´Ù¸é ½ÇÇàÀ» Áß´ÜÇÒ ¼öµµ ÀÖ´Ù´Â ÀǹÌ.
     µ¿ÀÏÇÑ ³»¿ëÀ» C language·Î Â¥ ÄÄÆÄÀÏÇÑ ÇÁ·Î±×·¥¿¡ ºñÇؼ±
     shellÁß ºü¸£´Ù°í ÇÏ´Â Bourne shellµµ ±× ¼öÇà ¼Óµµ¸¦ µû¶ó°¡Áö ¸øÇÑ´Ù.
   * ±×·¯³ª programming language·Î¼­ÀÇ shell programÀ» Àß È°¿ëÇϸé
     ¿©·¯ ºÐ¾ß¿¡¼­ '»ý»ê¼º'À» ³ôÀÏ ¼ö ÀÖ´Ù.
     °Å´ëÇÑ text È­ÀÏ¿¡¼­ µ¿ÀÏ ÀÛ¾÷À» ¶óÀθ¶´Ù ÇÑ´Ù´ø°¡
     ¿©·¯ È­ÀÏ¿¡¼­ ¹Ýº¹ÀûÀÎ ÀÏÀ» ÇÑ´Ù´ø°¡
     ¹Ýº¹ÀûÀÎ ÀÏÀ» ÇÏ·ç¿¡µµ ¸î ¹ø¾¿ ÇÑ´Ù´ø°¡
     ÆíÁýÀ» ¿äÇÏ´Â ÀÏÀ» ÀÚµ¿È­ÇÑ´Ù´ø°¡ µîµî.
     ¹°·Ð C language·Îµµ °°Àº ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖÁö¸¸, 
     ÀÌ¿¡ ºñÇØ shellÀº ÇÁ·Î±×·¡¹ÖÀÌ ÈξÀ °£ÆíÇÏ´Ù.
   * shellÀÌ ½ÇÇàÇÏ´Â ÇÁ·Î±×·¥ Áï, process¿¡´Â ±âº»ÀûÀ¸·Î 
     ¼¼ °³(?)ÀÇ fileÀÌ openµÈ´Ù.
     standard in(Ç¥ÁØ ÀÔ·Â), standard out(Ç¥ÁØ Ãâ·Â), standard error(Ç¥ÁØ ¿¡·¯)


Revision History
Created        on Jan. 3 ,1993