1. ã¯ããã«ïŒShell ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠ
ãã®èšäºã§ã¯ãå¹ççãªéçºãå¯èœã«ããããã®æè¡ã§ããShellãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠè§£èª¬ããŸããåå¿è ã®æ¹ã§ãæåŸãŸã§æ¥œããã§èªãã§ããã ããããã«ãåºæ¬ãããã£ãããšèª¬æããŸãã
1.1 Shellãã¬ãŒã ã¯ãŒã¯ãšã¯ïŒ
Shellãã¬ãŒã ã¯ãŒã¯ãšã¯ã匷åãªShellã¹ã¯ãªãããå¹ççã«äœæããããã®ãã¬ãŒã ã¯ãŒã¯ã®ããšãæããŸããShellã¹ã¯ãªãããšã¯ãUnixãLinuxã·ã¹ãã ã§ãã䜿çšãããã¹ã¯ãªããèšèªã®äžçš®ã§ããã®äžå¿çãªäœçœ®ãæ ããã®ã§ãããããããã®åŠçã¯æ¯èŒçè€éã§ãèšå€§ãªæéãæ¶è²»ããå¯èœæ§ããããŸãããã®åé¡ã解決ããããã«éçºãããã®ãShellãã¬ãŒã ã¯ãŒã¯ã§ãã
Shellãã¬ãŒã ã¯ãŒã¯ãçšããããšã§ãã·ã¹ãã ã®å¶åŸ¡ããã¡ã€ã«ã®æäœããšã©ãŒãã³ããªã³ã°ãªã©çµ±åãããæ©èœãå©çšããããšãå¯èœãšãªããŸããããã«ãããéçºè ã¯ããé«åºŠãªåŠçãçæéã§å®çŸã§ããããã«ãªããŸãã
1.2 Shellãã¬ãŒã ã¯ãŒã¯ã®éèŠæ§
ã§ã¯ããªãShellãã¬ãŒã ã¯ãŒã¯ãéèŠãªã®ã§ãããããä»æ¥ã®æè¡çãªç°å¢ã§ã¯ãå€ãã®ã¿ã¹ã¯ãèªååããããã®çµæãããè€éãªã·ã¹ãã ãäœæãããŠããŸãããããã®ã·ã¹ãã ã¯ãå¹ççã«æäœãè¡ããããŒã¿ã管çã§ããããŒã«ãå¿ èŠãšããŠããŸãã
Shellãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã®éçºãããããã€ã¡ã³ããŸã§ã®å šäœçãªããã»ã¹ãå¹çåããããã®åŒ·åãªããŒã«ãæäŸããŸããããã¯ãã³ãŒãã®éãåæžãããšã©ãŒãé²ããéçºãµã€ã¯ã«ãççž®ããã®ã«åœ¹ç«ã¡ãŸãã
ãããã£ãŠãShellãã¬ãŒã ã¯ãŒã¯ã¯ãæ代ã®ããŒãºã«å¿ããããã®ããŒã·ã¹ãã ãšããŠãéçºè ã管çè ã«ãšã£ãŠéåžžã«éèŠãªååšãšèšããŸããä»åŸããŸããŸãå€ãã®äººã ãShellãã¬ãŒã ã¯ãŒã¯ãå©çšããŠãè€éãªã¿ã¹ã¯ãå¹ççã«å®è¡ããã·ã¹ãã ã®ä¿¡é Œæ§ãšããã©ãŒãã³ã¹ãåäžãããããšã§ãããã
2. Shell ãã¬ãŒã ã¯ãŒã¯ã®äž»ãªæ©èœ
Shell ãã¬ãŒã ã¯ãŒã¯ã¯ãæ¥ã ã®ã³ãŒãã£ã³ã°ãã·ã¹ãã éçšãå¹çåããããã®éèŠãªããŒã«ã§ããè€éãªã¿ã¹ã¯ãèªååãããã¹ãé²ããããéçºè ã«ãšã£ãŠä¿¡é Œæ§ã®é«ãå©ããšãªããŸããããã§ã¯å ·äœçã«ãShell ãã¬ãŒã ã¯ãŒã¯ãæã€èŽåœçãª4ã€ã®æ©èœã解説ããŠãããŸãã
2.1 ã³ãã³ãã©ã€ã³åŠç
ã³ãã³ãã©ã€ã³ãšã¯ãæååã§ã³ã³ãã¥ãŒã¿ã«æ什ãåºãæ¹æ³ãæããŸããShell ãã¬ãŒã ã¯ãŒã¯ã¯ããã®ã³ãã³ãã©ã€ã³åŠçãå¹ççãã€æè»ã«è¡ãæ©èœãæã£ãŠããŸããã·ã§ã«ã¹ã¯ãªããã䜿çšããŠäžé£ã®ã³ãã³ããèšè¿°ããããšã§ãé©åãªææã«é©åãªã³ãã³ããèªåçã«å®è¡ã§ããŸããããã«ãããåãæäœãç¹°ãè¿ãè¡ãæéãæžãããããè€éãªã³ãã³ãã®çµã¿åãããç°¡åã«å®è¡ãããããããšãå¯èœã«ãªããŸãã
2.2 ã·ã¹ãã å¶åŸ¡
次ã«Shell ãã¬ãŒã ã¯ãŒã¯ã®æ©èœãšããŠã·ã¹ãã å¶åŸ¡ããããŸããããã¯ãã³ã³ãã¥ãŒã¿ã®ã·ã¹ãã å šäœãå¹ççã«ç®¡çããæ©èœã§ããå ·äœçã«ã¯ãã·ã¹ãã ã®èšå®ãäžå çã«ç®¡çãããããµãŒãã¹ãããŒã¢ã³ã®èµ·åã»åæ¢ãå®æå®è¡ãªã©ãå¶åŸ¡ã§ããŸãããã®ã·ã¹ãã å¶åŸ¡ã®æ©èœã«ãããäžè²«ããç¶æ ãä¿ã¡ã€ã€çžŠæšªç¡å°œã«ã·ã¹ãã ãæäœããããšãå¯èœãšãªããŸãã
2.3 ãã¡ã€ã«ç®¡ç
ãŸããShell ãã¬ãŒã ã¯ãŒã¯ã¯è€éãªãã¡ã€ã«ç®¡çã¿ã¹ã¯ãèªååããŸãã倧éã®ãã¡ã€ã«ããã£ã¬ã¯ããªãçæéã§æäœããããç¹å®ã®ãã¿ãŒã³ã«åºã¥ãããã¡ã€ã«æ€çŽ¢ãå¯èœã§ããå ããŠããã¡ã€ã«ããã£ã¬ã¯ããªã®ããŒããã·ã§ã³èšå®ãªã©ãã»ãã¥ãªãã£é¢ã®ç®¡çããµããŒãããŠããŸãã
2.4 ãšã©ãŒãã³ããªã³ã°
æåŸã«ããšã©ãŒãã³ããªã³ã°ãShell ãã¬ãŒã ã¯ãŒã¯ã®éèŠãªæ©èœã§ããéåžžãã·ã§ã«ã¹ã¯ãªããã¯ãšã©ãŒãçºçãããšéäžã§åæ¢ããŠããŸããŸãããShell ãã¬ãŒã ã¯ãŒã¯ã䜿ãããšã§ãšã©ãŒã®è©³çŽ°ãæããé©åãªãšã©ãŒã¡ãã»ãŒãžãåºåããããå¿ èŠãªãã°ãšã©ãŒã®ããç®æãç¡èŠããŠåŠçãç¶ãããªã©ãæè»ãªãšã©ãŒãã³ããªã³ã°ãå¯èœãšãªããŸãã
3. Shell ãã¬ãŒã ã¯ãŒã¯ã®èšèšåå
ã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®èšèšã«ã¯ããã€ãã®ååããããŸããããããã®ååããã¬ãŒã ã¯ãŒã¯ã®å質ãšå¹çæ§ã«å€§ããå¯äžããŠããã®ã§ãååã«ç解ããŠããããšããå§ãããŸãã
3.1 å©äŸ¿æ§ã«éç¹ã眮ã
å©äŸ¿æ§ã¯ã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®èšèšååã®äžã€ã§ãããããã«ããéçºè ã¯äœæ¥ãéç£æ§ããè¡ãããšãã§ããŸãããã¬ãŒã ã¯ãŒã¯ãæäŸãã䟿å©ãªæ©èœãæ§é ãç解ããã°ãåŠçã®è€éããæžããåã¿ã¹ã¯ã®æéãççž®ãããŸããã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã¯ç¹°ãè¿ãè¡ãäœæ¥ãèªååãããšã©ãŒçºçã®ãªã¹ã¯ãæžããããã®ããŒã«ãšããŠèšèšãããŠããŸãã
3.2 ã«ã¹ã¿ãã€ãºå¯èœæ§
ããã«ãã«ã¹ã¿ãã€ãºå¯èœæ§ãšããååãéèŠã§ãããã¬ãŒã ã¯ãŒã¯ã¯ãŠãŒã¶ãŒãå¿ èŠã«å¿ããŠæ©èœãè¿œå ãä¿®æ£ãåé€ã§ããããã«ããã¹ãã§ããã·ã§ã«ã¹ã¯ãªããã¯é »ç¹ã«å€æŽãããããããã¬ãŒã ã¯ãŒã¯ãããã«å¿ããŠè¿ éã«èª¿æŽã§ããã¹ãã§ããéçºè ãèªç±ã«ã«ã¹ã¿ãã€ãºã§ããã°ãäœæ¥ã®å¹çåãå質åäžã«ã€ãªãããŸãã
3.3 ãã¡ãŒã ãŠã§ã¢ãšã®äºææ§
æåŸã«ããã¡ãŒã ãŠã§ã¢ãšã®äºææ§ãèæ ®ããªããã°ãªããŸãããã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã¯åºç¯ãªãã©ãããã©ãŒã ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœ¿çšã§ããããã«èšèšãããŠããããšãäžè¬çã§ãããã®ããããã¬ãŒã ã¯ãŒã¯ãæ§ã ãªç°å¢ã§é©åã«åäœããããã«ãããšããäºææ§ã®ä¿èšŒã¯ããã¬ãŒã ã¯ãŒã¯ã®èšèšã»éçºã«ãããŠéèŠãªèŠçŽ ãšãªããŸãã
以äžã®äžã€ã®ååãç解ããããšã§ãã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®èšèšææ³ãæ·±ãç解ããããã掻çšããããšã§å¹ççãªéçºãè¡ãããšãã§ããŸãã
4. Shell ãã¬ãŒã ã¯ãŒã¯ã®å¹ççãªéçºãã¯ããã¯
Shell ãã¬ãŒã ã¯ãŒã¯ãå¹ççã«æŽ»çšããããã®éçºãã¯ããã¯ãããã€ãã玹ä»ããŸããã¢ããªã±ãŒã·ã§ã³éçºã®çµéšãå°ãªãæ¹ã§ãç解ããããããã«ãå ·äœçãªææ³ã玹ä»ããŸãã
4.1 ä»æ§ãç解ãã
ãŸããæãéèŠãªã®ã¯ãã¬ãŒã ã¯ãŒã¯ã®ä»æ§ãç解ããããšã§ããShell ãã¬ãŒã ã¯ãŒã¯ã¯å€çš®å€æ§ã§ããããããç°ãªãç¹æ§ãç®çãæã£ãŠããŸãããã®ãããç¹å®ã®ãã¬ãŒã ã¯ãŒã¯ãéžãã§äœ¿çšããéã«ã¯ããã®ãã¬ãŒã ã¯ãŒã¯ãæäŸããé¢æ°ãããŒã«ãèšèšææ³ãååã«ç解ãããã®äžã§é©åã«äœ¿çšããããšãæ±ããããŸãã
4.2 åå©çšå¯èœãªã³ãŒããæžã
次ã«ãçç£æ§ãåäžããããã®éèŠãªãã€ã³ããšããŠãåå©çšå¯èœãªã³ãŒããæžããšããææ³ããããŸããç¹å®ã®ã¿ã¹ã¯ã«å¯Ÿããã³ãŒããæžãéããã®ã³ãŒããä»ã®å Žé¢ã§ã䜿çšå¯èœã«ãªãããã«èšèšããããšã§ãåããããªåŠçãäœåºŠãæžãå¿ èŠããªããªããã³ãŒãã£ã³ã°ã®å¹çãå€§å¹ ã«åäžãããããšãã§ããŸãã
4.3 èšå®ãã¡ã€ã«ãå©çšãã
ãŸããèšå®ãã¡ã€ã«ãããŸãå©çšããã°ãã·ã¹ãã ã®æåãç°¡åã«ã«ã¹ã¿ãã€ãºããããšãå¯èœãšãªããŸãããã®ãããèšå®ãã¡ã€ã«ãå©çšãããšããã®ãå¹ççãªã·ã§ã«ãã¬ãŒã ã¯ãŒã¯éçºã®ããŒãã€ã³ããšãªããŸããèšå®ãã¡ã€ã«ãçšããããšã§ãããã°ã©ã ã³ãŒããå€æŽããããšãªãã·ã¹ãã ã®æåãå€ããããšãã§ãããã¬ãã·ãã«ãªã·ã¹ãã ãæ§ç¯ããããšãã§ããŸãã
4.4 ãšã©ãŒãã³ããªã³ã°ãè¡ã
æåŸã«ããšã©ãŒãã³ããªã³ã°ã¯ã©ã®ãããªã¢ããªã±ãŒã·ã§ã³ã®éçºã«ãããŠãæ¬ ãããªãèŠçŽ ã§ãããšã©ãŒã¡ãã»ãŒãžæ©èœãååã«æŽ»çšããåé¡ãçºçããéã«ã¯åããããããŠãŒã¶ãŒãŸãã¯éçºè ã«éç¥ããããšã§ãåé¡ã®æ©æ解決ãå³ãããšãã§ããŸãããŸãããšã©ãŒãã³ããªã³ã°ãè¡ãããšã§ã·ã¹ãã ã®ããã¹ããã確ä¿ãããŠãŒã¶ãŒäœéšã®åäžã«ã€ãªãããŸãã
以äžãShell ãã¬ãŒã ã¯ãŒã¯ã®å¹ççãªéçºãã¯ããã¯ã«ã€ããŠçŽ¹ä»ããŸããããããã®ãã¯ããã¯ãç解ããé©åã«é©çšããããšã§ããã質ã®é«ãã·ã¹ãã éçºãè¡ãããšãã§ããã§ãããã
5. Shell ãã¬ãŒã ã¯ãŒã¯ã®äœ¿ãæ¹ïŒåºæ¬çãªæé
ããããShell ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœ¿ãæ¹ã«ã€ããŠè©³ãã解説ããŠãããŸããShellãã¬ãŒã ã¯ãŒã¯ãå¹æçã«äœ¿çšããããã«ã¯ãé©åãªäºåæºåããã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«ããããŠãããžã§ã¯ãã®äœæãšãã3ã€ã®ã¹ããããèžãå¿ èŠããããŸãã
5.1 äºåæºå
ãŸãæåã«è¡ãã¹ãããšã¯ããã·ã§ã«ããåäœããç°å¢ãæŽããäºåæºåã§ããã·ã§ã«ã¹ã¯ãªãããå®è¡ã§ããOSãçšæãããã®äžã§ã·ã§ã«ã®çš®é¡ãéžæããŸããäžã§ãbashïŒããŒã³ã¢ã²ã€ã³ã·ã§ã«ïŒã¯å©çšè ãå€ããåå¿è ã«ãæ±ããããã·ã§ã«ãšãããŠããŸãã
ãŸãããšãã£ã¿ãœãããçšæããå¿ èŠããããŸããããã¹ããšãã£ã¿ã§ããã°äœã§ãããã®ã§ããããšãã£ã¿ã«ã·ã§ã«ã¹ã¯ãªããã®èšè¿°ã«ç¹åããæ©èœãä»ããŠãããšäœæ¥ãæããŸãã詳现ã¯åŸè¿°ããŸãã
5.2 ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«
äºåæºåãæŽã£ãããã€ãã«è¡ãã¹ãã¯ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«ã§ããã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã¯çš®é¡ãå€å²ã«ããããããããç¹æ§ãç°ãªããŸãããã®äžãããæ±ããæ©èœã奜ã¿ã«åãããŠéžæããŸãããã
ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«ã¯åºæ¬çã«ã¿ãŒããã«ïŒã³ãã³ãã©ã€ã³ïŒã§è¡ããŸããå ·äœçãªã€ã³ã¹ããŒã«ã³ãã³ãã¯ãã¬ãŒã ã¯ãŒã¯ã«ãããŸãããå€ãã®å Žåãå ¬åŒããã¥ã¡ã³ããŒã·ã§ã³ã«èšèŒãããŠããŸãããªããã€ã³ã¹ããŒã«äœæ¥ã«ã¯ç®¡çè æš©éãå¿ èŠãªå Žåãããã®ã§æ³šæããŸãããã
5.3 ãããžã§ã¯ãã®äœæ
ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«ãå®äºããããããžã§ã¯ããäœæããŸããããã¯æ°ããã·ã§ã«ã¹ã¯ãªãããå§ããéã«è¡ãäœæ¥ã§ãããŸããã¿ãŒããã«ããé©åœãªãã£ã¬ã¯ããªãäœæãããã®äžã«ç§»åããŸãããããŠããã¬ãŒã ã¯ãŒã¯ã®æäŸããã³ãã³ãã§æ°ãããããžã§ã¯ããäœæããŸãã
ããã§æ³šæããã¹ãã¯ãäœæããããããžã§ã¯ãã«ã¯ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬èšå®ãå«ãŸããŠããããšã§ãããã®èšå®ãç解ããŠããã°ãã·ã§ã«ã¹ã¯ãªããã®äœæãå€§å¹ ã«æ¥œã«ãªããŸãããŸããèšå®ãã«ã¹ã¿ãã€ãºããããšã§ããå¹ççã«äœæ¥ãé²ããããšãã§ããŸãã
以äžããShell ãã¬ãŒã ã¯ãŒã¯ã®äœ¿ãæ¹ïŒåºæ¬çãªæé ãšãªããŸãããã®æµããèžãããšã§ãäžè²«ããéçºç°å¢ãæŽããå¹ççãªéçºãå®çŸã§ããŸãã
6. Shell ãã¬ãŒã ã¯ãŒã¯ã®å®è·µïŒãããžã§ã¯ãäœæãããããã€ãŸã§
ãããŸã§ã¯Shell ãã¬ãŒã ã¯ãŒã¯ã®æŠè«ãã話ããŸããããããããã¯ãã®å®è·µçãªäœ¿ãæ¹ã«ã€ããŠè§£èª¬ããŸãã
6.1 ãããžã§ã¯ãã®äœæ
ãŸããæ°ãããããžã§ã¯ããäœæããŸããããã¯ãç¹å®ã®ã¿ã¹ã¯ã課é¡ã解決ããããã®äžé£ã®ã¹ã¯ãªãã矀ãæ³å®ããŠããŸãããããžã§ã¯ãã®äœæã¯ãShell ãã¬ãŒã ã¯ãŒã¯ã®æ°ããã€ã³ã¹ã¿ã³ã¹ãéå§ããããšãæå³ããŸãããã®éããããžã§ã¯ãã®ç®çãèŠä»¶ãæ確ã«èšå®ããããã«åºã¥ããŠå¿ èŠãªæ©èœãã³ãã³ããèšç»ããŸããæ確ãªç®çèšå®ã¯å¹ççãªéçºãå¯èœã«ããç¡é§ãªåªåãé¿ããããšãã§ããŸãã
6.2 ã³ãã³ãäœæ
ãããžã§ã¯ãã®èšå®ãå®äºããããå¿ èŠãªã³ãã³ããäœæããŸããShell ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãç¹å®ã®æäœãè¡ãããã®ã³ãã³ããèªç±ã«äœæã§ããŸãããããã®ã³ãã³ãã¯ããããžã§ã¯ãã®åã¿ã¹ã¯ãåŠçããããã®éµãšãªããŸããã³ãã³ãäœæã¯ããããžã§ã¯ãã®èŠä»¶ã«å®å šã«åãããŠã«ã¹ã¿ãã€ãºã§ãããããéåžžã«ãã¬ãã·ãã«ãªéçºãå¯èœã§ãã
6.3 ãã¹ãã®å®æœ
ã³ãã³ãã®äœæåŸã¯ããããæåŸ éãã«æ©èœããããšã確èªããããã«ãã¹ããè¡ããŸãããã¹ãã¯éçºããã»ã¹ã®äžã§éèŠãªåœ¹å²ãæãããæ©æã«ãã°ãç¹å®ãä¿®æ£ããããšãã§ããŸãããŸãããã¹ãã¯æ°ããªæ©èœãè¿œå ããåããŸãã¯å€§ããªå€æŽãå ããåã«ãã¹ãŠã®æ©èœãæ£ããåäœããããšã確èªããæ段ãšããŠã泚ç®ãããŠããŸãããã¹ããéµå®ããããšã§ãä¿¡é Œæ§ã®é«ããããžã§ã¯ãã®ç¶æ管çãå¯èœãšãªããŸãã
6.4 ãããã€
å šãŠã®ã³ãã³ããåé¡ãªãåäœãããã¹ãããã¹ããããæåŸã«ãããžã§ã¯ãããããã€ããŸãããããã€ã¯ãéçºããããããžã§ã¯ããå®éã®ç°å¢ã«é©çšããããã»ã¹ã§ãããã®ã¹ãããã§ã¯ãã·ã¹ãã 管çè ããšã³ããŠãŒã¶ãŒãäœæããã³ãã³ããç°¡åã«äœ¿çšã§ããããã«ãå®æãããããžã§ã¯ããé åžãŸãã¯å ¬éããŸãããã®ããã»ã¹ã¯ãShell ãã¬ãŒã ã¯ãŒã¯ã®å©äŸ¿æ§ãæ倧éã«é«ããéèŠãªã¹ãããã§ãã
7. Shell ãã¬ãŒã ã¯ãŒã¯ã®ããã®ããããããŒã«ã®çŽ¹ä»
å¹ççãªã·ã§ã«ã¹ã¯ãªããéçºãæ¯æŽããããã«ãããã€ãã®ããŒã«ãå°å ¥ããããšããå§ãããŸãããããã¯ç管çããã¹ãããããã°ã®ããã®ããŒã«ã§ãããããç°ãªãé¢ã§éçºãå©ããŠãããŸãã
7.1 ç管çããŒã«
ç管çããŒã«ã¯ãGitãªã©ããã䜿çšãããŸããGitã¯ã³ãŒãã®å€æŽå±¥æŽãã€ããŠããŒãžã§ã³ç®¡çãå®æœããŸãããã¡ã€ã«ã®ç¶æ ãæç³»åã§ç®¡çããããšã§ãåŸããä¿®æ£ãåé€ãè¡ãããå Žåã§ããç¹å®ã®æç¹ã®ç¶æ ãåç §ããããç¹å®ã®ããŒãžã§ã³ã«æ»ãããããããšãå¯èœã§ããããã«ãããäœãã©ã®ããã«å€ãã£ãã®ããã©ã®ããŒãžã§ã³ã§ãšã©ãŒãåºãã®ããªã©ã远跡ããã®ã容æã«ãªããŸãã
7.2 ãã¹ãããŒã«
ã·ã§ã«ã¹ã¯ãªããéçºã«ããŠããããã¹ããéèŠã§ããããæ¯æŽããããã®ããŒã«ãšããŠshUnit2ãBATSïŒBash Automated Testing SystemïŒããããŸãããããã®ããŒã«ã䜿ãã°ãåé¢æ°ãæ³å®ã©ããã®åäœããããã確èªããããäžå ·åã®ç¹å®ã容æã«ãªããŸããããã«ããã¹ãã±ãŒã¹ãäœæããããšã§åçºé²æ¢çãšãªããã·ã§ã«ã¹ã¯ãªããå šäœã®å質ã®åäžã«å¯äžããŸãã
7.3 ãããã°ããŒã«
ãããã°ã«ã¯Bash Debuggerãshellcheckã䟿å©ã§ããBash Debuggerã¯ã¹ã¯ãªããã®å®è¡ãã¹ããããã€ã¹ãããã§è¿œè·¡ããåæç¹ã§ã®å€æ°ã®å€ãªã©ã確èªããããšãã§ããŸããããã«ãã£ãŠåé¡ã®çºçæºãç¹å®ããã®ã容æã«ãªããŸããshellcheckã¯ã·ã§ã«ã¹ã¯ãªããã®éç解æããŒã«ã§ãã³ãŒãã£ã³ã°ãã¹ãäžè¬çãªãšã©ãŒãã¿ãŒã³ããã§ãã¯ããŸããäºæž¬å¯èœãªåé¡ãäºåã«çºèŠããä¿®æ£ããããšãã§ããŸãã
ãããã®ããŒã«ã掻çšããããšã§ãã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®éçºãããåæ»ã«ãªããå質ãåäžããŸãããã²å°å ¥ãæ€èšããŠã¿ãŠãã ããã
8.ãŸãšãïŒShell ãã¬ãŒã ã¯ãŒã¯ã§å¹ççã«ã·ã¹ãã ãæ§ç¯ããã
ä»åã®èšäºã§ã¯ãShell ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã®è©³çŽ°ãªè§£èª¬ãè¡ããŸããããã®äœ¿ãæ¹ãç¹æ§ãå¹ççãªéçºãã¯ããã¯ã«ã€ããŠåŠãã ããšã§ãã¿ãªããã¯ã³ãŒãã®å質ãé«ããçç£æ§ãåäžãããæ段ãåŸãããšã§ããããããããã®ã»ã¯ã·ã§ã³ã§èª¬æããå ·äœçãªæé ãå®éã«è©ŠããŠã¿ãããšã§ãããæ·±ãç解ãåŸãããã¯ãã§ãã
8.1 ã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®å¹æ
ã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã¯ã人æ°ãããã ãã§ãªãããã®äœ¿ãããããšæè»æ§ããããã°ã©ãã³ã°ã¯ãŒã«ãã§åºãå©çšãããŠããŸããæ¢åã®ã³ãŒããããŒã·ã§ã³ç®¡çããåå©çšå¯èœãªé¢æ°ãšã¹ã¯ãªãããç°¡åã«äœæãããšã©ãŒãã³ããªã³ã°ãèªååããããã«äœ¿çšãããŸããããã«ãããäžè¬çãªããã°ã©ãã³ã°ã¿ã¹ã¯ãå€§å¹ ã«ç°¡ç¥åããããšã©ãŒã®çºçãæžå°ããŸãããã®åŒ·åãªããŒã«ã䜿ãããšã§ãéçºãããžã§ã¯ãã¯ããã¹ã ãŒãºã«é²è¡ãããã°ã®ãªã¹ã¯ãæžå°ããã§ãããã
8.2 ä»åŸã®åŠç¿æ¹æ³
ãã¡ãããã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã掻çšããããã«ã¯ãå®æçãªç·Žç¿ãšåŠç¿ãå¿ èŠã§ããåæã®åŠç¿æ²ç·ã¯å°ãæ¥ãããããŸããããåºæ¬çãªæŠå¿µãææ¡ãå§ãããšãæ©æµãåããããšãã§ããŸããæ°ãããããžã§ã¯ããå§ãããã³ã«ãã¹ããã©ã¯ãã£ã¹ãé©çšããæ©èœãè¿œå ããããšã«ãã¬ãŒã ã¯ãŒã¯ã®ç解ãæ·±ããããšã¯å¿ èŠã§ããããã«ãã€ã³ã¿ãŒãããäžã«ã¯å€ãã®ãªãœãŒã¹ãè±å¯ã«ååšããŸããå ¬åŒããã¥ã¡ã³ããŒã·ã§ã³ããªã³ã©ã€ã³ãã¥ãŒããªã¢ã«ãã³ãã¥ããã£ãã©ãŒã©ã ãªã©ã掻çšããŠãã¹ãã«ã®ãã©ãã·ã¥ã¢ããã«åãçµã¿ãŸããããã·ã§ã«ãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšã¯ãæéãšæéãå€§å¹ ã«ç¯çŽããããè¯ãã¯ãªãªãã£ã®ã³ãŒããä¿èšŒããŸããããã«ãããããªãã®éçºã¹ãã«ãäžæ®µãšåäžããããªãèªèº«ã®äŸ¡å€ããããããšã«ã€ãªããã§ãããã