¶øÔÚLinuxϵͳÖУ¬Shell×÷ΪÓû§Óë²Ù×÷ϵͳ֮¼äµÄÇÅÁº£¬°çÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«
±¾ÎĽ«ÉîÈë̽ÌÖLinux ShellµÄÀúÊ·£¬´ÓÆäÆðÔ´¡¢Ñݱ䵽µ±Ç°¹ã·ºÊ¹ÓõÄBash£¨Bourne Again Shell£©£¬½ÒʾÆäÔÚϵͳ¹ÜÀíºÍ×Ô¶¯»¯ÈÎÎñÖеÄÖØÒªµØÎ»
ShellµÄÆðÔ´ÓëÔçÆÚ·¢Õ¹ Shell½Å±¾µÄÀ´Ô´¿ÉÒÔ×·Ëݵ½UnixϵͳµÄÔçÆÚ·¢Õ¹½×¶Î
UnixϵͳÊÇÒ»ÖÖ¶àÓû§¡¢¶àÈÎÎñµÄ²Ù×÷ϵͳ£¬Óɱ´¶ûʵÑéÊÒ£¨Bell Labs£©µÄKen ThompsonºÍDennis RitchieµÈÈËÔÚ20ÊÀ¼Í60Äê´úÄ©µ½70Äê´ú³õ¿ª·¢
UnixϵͳµÄ³öÏÖ£¬±êÖ¾×żÆËã»ú²Ù×÷ϵͳ½øÈëÁËÒ»¸öеÄʱ´ú£¬ÆäÉè¼ÆÀíÄîÇ¿µ÷Ä£¿é»¯¡¢¿ÉÒÆÖ²ÐԺ͸ßЧÐÔ
×îÔçµÄShellÊÇÓÉKen Thompson¿ª·¢µÄ£¬³ÆÎªThompson Shell£¨sh£©
ËüÊÇUnixϵͳµÄÒ»¸öÖØÒª×é³É²¿·Ö£¬ÎªÓû§ÌṩÁËÒ»¸öÃüÁîÐнçÃæ£¬Ê¹Óû§Äܹ»Í¨¹ýÊäÈëÃüÁîÀ´²Ù×÷ϵͳ
Thompson ShellµÄ³öÏÖ£¬¼«´óµØ¼ò»¯ÁËϵͳ¹ÜÀíµÄ¸´ÔÓÐÔ£¬Ê¹µÃÓû§¿ÉÒÔ¸ü¼Ó¸ßЧµØÍê³ÉÈÎÎñ
Ëæ×ÅUnixϵͳµÄ·¢Õ¹£¬ÆäËû°æ±¾µÄShellÒ²Ïà¼Ì³öÏÖ
ÆäÖУ¬Bourne Shell£¨Ò²³ÆÎªsh£©ÊÇÁíÒ»¸öÖØÒªµÄÀï³Ì±®
Bourne ShellÓÉStephen BourneÔÚ20ÊÀ¼Í70Äê´úÄ©¿ª·¢£¬Ëü¼Ì³ÐÁËThompson ShellµÄ»ù±¾¹¦ÄÜ£¬²¢½øÐÐÁ˸ĽøºÍÀ©Õ¹
Bourne ShellÌṩÁ˸ü¼ÓÇ¿´óµÄ½Å±¾±àд¹¦ÄÜ£¬ÔÊÐíÓû§±àд½Å±¾À´×Ô¶¯»¯Öظ´ÐÔÈÎÎñ¡¢´¦ÀíÎļþºÍÖ´ÐÐϵͳ¹ÜÀí²Ù×÷
ShellµÄ¶àÑù»¯·¢Õ¹ ÔÚBourne ShellÖ®ºó£¬C Shell£¨csh£©ºÍKorn Shell£¨ksh£©µÈеÄShell°æ±¾Ïà¼Ì³öÏÖ£¬ËüÃǸ÷×Ô¾ßÓжÀÌØµÄÌØµãºÍÓÅÊÆ
C ShellÓÉBill JoyÔÚ20ÊÀ¼Í80Äê´ú³õ¿ª·¢£¬Ëü½è¼øÁËCÓïÑÔµÄÓï·¨ºÍ·ç¸ñ£¬ÌṩÁ˸ü¼ÓÁé»îºÍÇ¿´óµÄ½Å±¾±àдÄÜÁ¦
Korn ShellÓÉDavid KornÔÚ20ÊÀ¼Í80Äê´úÖÐÆÚ¿ª·¢£¬Ëü½áºÏÁËBourne ShellºÍC ShellµÄÓŵ㣬ÌṩÁ˸ü¼Ó·á¸»µÄ¹¦Äܺ͸üºÃµÄÓû§ÌåÑé
È»¶ø£¬ÔÚËùÓÐÕâЩShell°æ±¾ÖУ¬Bash£¨Bourne Again Shell£©Öð½¥³ÉΪ×îΪ¹ã·ºÊ¹ÓõÄShellÖ®Ò»
BashÓÉBrian FoxºÍDale DoughertyÔÚ1987Ä꿪ʼ¿ª·¢£¬Ëü×î³õÊÇ×÷ΪBourne ShellµÄÒ»¸öÃâ·ÑÌæ´úÆ·¶øµ®ÉúµÄ
Bash¼Ì³ÐÁËBourne ShellµÄ»ù±¾¹¦ÄÜ£¬²¢Ôö¼ÓÁËÐí¶àеÄÌØÐԺ͸Ľø£¬ÈçÃüÁȫ¡¢ÃüÁîÀúÊ·¡¢×÷Òµ¿ØÖƵÈ
ÕâÐ©ÌØÐÔʹµÃBashÔÚÒ×ÓÃÐԺ͹¦ÄÜÐÔ·½ÃæÈ¡µÃÁËÏÔÖøµÄÌáÉý
BashµÄáÈÆðÓë¹ã·ºÓ¦ÓÃ Ëæ×ÅBashµÄ²»¶Ï·¢Õ¹ºÍÍêÉÆ£¬ËüÖð½¥³ÉΪÁË´ó¶àÊýLinuxϵͳĬÈϵÄShell
BashµÄáÈÆð£¬µÃÒæÓÚÆäÇ¿´óµÄ¹¦ÄܺÍÒ×ÓÃÐÔ
ËüÌṩÁ˷ḻµÄÄÚÖÃÃüÁîºÍ½Å±¾±àд¹¦ÄÜ£¬Ê¹µÃÓû§¿ÉÒÔÇáËɵØÍê³É¸÷ÖÖϵͳ¹ÜÀíÈÎÎñ
ͬʱ£¬Bash»¹Ö§³Ö¶àÖÖ±à³ÌÓïÑÔÌØÐÔ£¬Èç±äÁ¿¡¢Ñ»·¡¢Ìõ¼þÅжϵȣ¬Ê¹µÃÓû§¿ÉÒÔ±àд¸ü¼Ó¸´ÔӺ͸ßЧµÄ½Å±¾
BashµÄ¹ã·ºÓ¦Óã¬Ò²Íƶ¯ÁËLinuxϵͳµÄÆÕ¼°ºÍ·¢Õ¹
ÔÚLinuxϵͳÖУ¬Bash²»½öÊÇÓû§Óë²Ù×÷ϵͳ֮¼äµÄÇÅÁº£¬»¹ÊÇÐí¶à×Ô¶¯»¯¹¤¾ßºÍ½Å±¾µÄ»ù´¡
ͨ¹ýBash½Å±¾£¬Óû§¿ÉÒÔ×Ô¶¯»¯µØÍê³ÉϵͳÅäÖá¢Èí¼þ°²×°¡¢±¸·Ý»Ö¸´µÈÈÎÎñ£¬¼«´óµØÌá¸ßÁ˹¤×÷ЧÂʺÍϵͳµÄ¿É¿¿ÐÔ
Shell½Å±¾µÄ»ù±¾¸ñʽÓë½á¹¹ Shell½Å±¾ÊÇÒ»ÖÖÎı¾Îļþ£¬°üº¬Ò»ÏµÁÐShellÃüÁîºÍÓï¾ä
ÕâЩÃüÁîºÍÓï¾ä°´ÕÕ˳ÐòÖ´ÐУ¬ÒÔʵÏÖÌØ¶¨µÄ¹¦ÄÜ
Shell½Å±¾µÄ»ù±¾¸ñʽºÍ½á¹¹ÈçÏ£º 1.ShebangÐУºShell½Å±¾µÄµÚÒ»ÐÐͨ³£ÊÇShebangÐУ¬ËüָʾϵͳʹÓÃÄĸö½âÊÍÆ÷À´Ö´Ðнű¾
ShebangÐÐÒÔ!¿ªÍ·£¬ºó¸ú½âÊÍÆ÷µÄ·¾¶
ÀýÈ磬!/bin/bash±íʾʹÓÃBash½âÊÍÆ÷À´Ö´Ðнű¾
2.×¢ÊÍ£ºShell½Å±¾ÖеÄ×¢ÊÍÒÔ# ¿ªÍ·
×¢ÊÍÐв»»á±»Ö´ÐУ¬ÓÃÓÚ˵Ã÷½Å±¾µÄ¹¦ÄÜ»ò´úÂëµÄ×÷ÓÃ
×¢ÊÍ¿ÉÒÔ°ïÖúÆäËûÓû§»òδÀ´µÄ×Ô¼ºÀí½â½Å±¾µÄÒâͼºÍÂß¼
3.ÃüÁîºÍÓï¾ä£ºShell½Å±¾Öаüº¬¸÷ÖÖÃüÁîºÍÓï¾ä£¬ÕâЩÃüÁîºÍÓï¾ä°´Ë³ÐòÖ´ÐÐ
ÀýÈ磬echoÃüÁîÓÃÓÚÔÚÆÁÄ»ÉÏÊä³öÎı¾ÐÅÏ¢
4.½Å±¾Ö´ÐУºÒªÖ´ÐÐShell½Å±¾£¬Ê×ÏÈÐèÒª¸³ÓèÆäÖ´ÐÐȨÏÞ
¿ÉÒÔʹÓÃchmodÃüÁîÀ´Ð޸Ľű¾µÄȨÏÞ
ÀýÈ磬chmod +x ./test.sh±íʾ¸³Óètest.sh½Å±¾Ö´ÐÐȨÏÞ
È»ºó£¬¿ÉÒÔʹÓÃ./test.shÃüÁîÀ´Ö´Ðнű¾
ShellµÄδÀ´·¢Õ¹ Ëæ×ż¼ÊõµÄ²»¶Ï½ø²½ºÍÓû§ÐèÇóµÄ±ä»¯£¬ShellÒ²ÔÚ²»¶Ï·¢Õ¹ºÍÍêÉÆ
δÀ´£¬Shell¿ÉÄÜ»á¸ü¼Ó×¢ÖØÓû§ÌåÑéºÍ½»»¥ÐÔ£¬Ìṩ¸ü¼ÓÖ±¹ÛºÍÒ×ÓõĽçÃæºÍ¹¤¾ß
ͬʱ£¬ShellÒ²¿ÉÄÜ»á¼ÓÇ¿ÓëÆäËû±à³ÌÓïÑԺ͹¤¾ßµÄ¼¯³É£¬Ê¹µÃÓû§¿ÉÒÔ¸ü¼Ó¸ßЧµØÍê³ÉÈÎÎñ
´ËÍâ£¬Ëæ×ÅÔÆ¼ÆËãºÍ´óÊý¾Ý¼¼ÊõµÄÐËÆð£¬ShellÔÚ×Ô¶¯»¯ÔËάºÍÊý¾Ý·ÖÎö·½ÃæÒ²½«·¢»Ó¸ü¼ÓÖØÒªµÄ×÷ÓÃ
ͨ¹ýShell½Å±¾£¬Óû§¿ÉÒÔ×Ô¶¯»¯µØÍê³ÉÊý¾ÝÊÕ¼¯¡¢´¦ÀíºÍ·ÖÎöÈÎÎñ£¬Ìá¸ßÊý¾Ý´¦ÀíµÄЧÂʺÍ׼ȷÐÔ
½áÓï ×ÛÉÏËùÊö£¬Linux Shell×÷ΪÓû§Óë²Ù×÷ϵͳ֮¼äµÄÇÅÁº£¬ÔÚUnixºÍLinuxϵͳµÄ·¢Õ¹ÖаçÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«
´Ó×îÔçµÄThompson Shellµ½µ±Ç°¹ã·ºÊ¹ÓõÄBash£¬Shell¾ÀúÁËÂþ³¤¶øÇúÕ۵ķ¢Õ¹Àú³Ì
ÔÚÕâ¸ö¹ý³ÌÖУ¬Shell²»¶Ï·¢Õ¹ºÍÍêÉÆ£¬ÌṩÁ˷ḻµÄ¹¦ÄܺÍÒ×ÓõĽçÃæ£¬Ê¹µÃÓû§¿ÉÒÔ¸ü¼Ó¸ßЧµØÍê³ÉÈÎÎñ
δÀ´£¬Ëæ×ż¼ÊõµÄ²»¶Ï½ø²½ºÍÓû§ÐèÇóµÄ±ä»¯£¬Shell½«¼ÌÐø·¢»ÓÆäÖØÒª×÷Óã¬ÎªÓû§Ìṩ¸ü¼Ó¸ßЧ¡¢±ã½ÝºÍÖÇÄܵķþÎñ