ã·ã§ã«ã¹ã¯ãªããã§ã®Hello World
第2åã¯ãã·ã§ã«ã¹ã¯ãªããã䜿ã£ãHello Worldã§ããã·ã§ã«ã¹ã¯ãªããã§ä»»æã®ã¡ãã»ãŒãžã衚瀺ããã«ã¯ãechoã³ãã³ãã䜿ããŸãããªã¹ã1ã®ããã«èšè¿°ãããšãããã§ã·ã§ã«ã¹ã¯ãªããçHello Worldã®å®æã§ãããªããHello Worldã®ååŸãã·ã³ã°ã«ã¯ã©ãŒã(' ')ã§å²ãã§ããã®ã¯ãæååäžã«ã¹ããŒã¹ãç¹æ®èšå·ãå«ãŸããå Žåã«ããããã·ã§ã«ã«è§£éãããã®ãé²ãããã§ãã
ãªã¹ã1 echoã³ãã³ããäœ¿ãæ¹æ³(sh_echo)
#!/bin/sh â /bin/shçšã¹ã¯ãªãããšããŠèšè¿°ãã
echo 'Hello World' â echoã³ãã³ãã§ã¡ãã»ãŒãžãæšæºåºåã«åºå
ã·ã§ã«ã¹ã¯ãªãããå®è¡ããã«ã¯ãããããããchmod +xãã³ãã³ãã§ãã¡ã€ã«ã«å®è¡å±æ§ãä»ããŠããå¿ èŠããããŸã(å®è¡äŸ1)ã
å®è¡äŸ1 ã·ã§ã«ã¹ã¯ãªããã®å®è¡
$ chmod +x sh_echo â ã·ã§ã«ã¹ã¯ãªããã®ãã¡ã€ã«ã«å®è¡å±æ§ãä»ãã
$ ./sh_echo â ã·ã§ã«ã¹ã¯ãªãããå®è¡
Hello World â 確ãã«Hello Worldã衚瀺ããã
$ â ã·ã§ã«ã®ããã³ããã«æ»ã
printfã³ãã³ããäœ¿ãæ¹æ³
echoã³ãã³ãã®ä»£ããã«ãprintfã³ãã³ãã䜿ãããšãã§ããŸããprintfã¯ãCèšèªã®printf()颿°ã«é¡äŒŒããã³ãã³ãã§ãã%sããªã©ã®æžåŒæå®ã€ãã§æååãæšæºåºåã«åºåããããšãã§ããŸãããã£ãŠããªã¹ã2ã®ããã«èšè¿°ããããšãã§ããŸããprintfã§ã¯ãæ¹è¡ã¯èªåçã«ã¯è¡ãããªããããæååã®æåŸã«æç€ºçã«'\n'ãä»ããå¿ èŠããããŸãããªããæžåŒæå®ã®ã%sãã䜿ããã«ãåçŽã«ãprintf 'Hello World\n'ããšããŠãæ§ããŸããã
ãªã¹ã2 printfã³ãã³ããäœ¿ãæ¹æ³(sh_printf)
#!/bin/sh
printf '%s\n' 'Hello World' â printfã䜿ã('\n'ãå¿
èŠ)
å¥çšéã®ã³ãã³ããæµçšããæ¹æ³
äœããã®ã³ãã³ããããã®æ¬æ¥ã®çšéãšã¯å¥ã®çšéã«å©çšããçµæçã«echoã³ãã³ãã®ä»£çšãšããããšãã§ããŸãã
ãªã¹ã3ã¯basenameã³ãã³ããå©çšããæ¹æ³ã§ããbasenameã¯ãæ¬æ¥ã¯ã第1åŒæ°ã®æååããããã¹åãšç¬¬2åŒæ°æå®ã®æ¡åŒµåãåãé€ãã³ãã³ãã§ãããšãã°ãbasename /home/user/file.html .htmlããå®è¡ãããšããfileããšããæååãæšæºåºåã«åºåãããŸãã
basenameã®ç¬¬1åŒæ°ã«ããHello Worldãã®ããã«ã/ããå«ãŸãªãæååãäžãããšããã¹åã«çžåœããéšåããªããããåãªãechoã³ãã³ãã®ããã«åäœããŸããããã§ã¯æ¡åŒµåãæå®ãã第2åŒæ°ã¯ä»ããŸããã
ãªã¹ã3 basenameã³ãã³ããäœ¿ãæ¹æ³(sh_basename)
#!/bin/sh
basename 'Hello World' â basenameãechoã®ä»£ããã«æµçš
ãªã¹ã4ã®ããã«dateã³ãã³ãã䜿ãããšãã§ããŸããdateã¯ãã¡ããæ¥æã衚瀺/èšå®ããããã®ã³ãã³ãã§ããããã®åŒæ°ã«ã+ãã§å§ãŸãæžåŒæå®æååãä»ããŠæ¥æè¡šç€ºãã«ã¹ã¿ãã€ãºããããšãã§ããŸããæžåŒæå®æååã¯ã%ãã§å§ãŸããããšãã°ã12æ34å56ç§ã«ãdate +%H:%M:%Sããšããã³ãã³ããå®è¡ãããšãã12:34:56ããšè¡šç€ºãããŸãã
ãã®ãã+ã以éã®æååãšããŠãã%ããå«ãŸãªããæ®éã®æååãä»ãããšããã®æååãåã«è¡šç€ºãããçµæçã«echoã³ãã³ãã®ä»£çšã«ãªããŸãã
ãªã¹ã4 dateã³ãã³ããäœ¿ãæ¹æ³(sh_date)
#!/bin/sh
date +'Hello World' â dateãechoã®ä»£ããã«æµçš(é ã«ã+ããä»ãã)
ã·ã§ã«ä»¥å€ã®ã³ãã³ããã·ã§ã«ã«ããæ¹æ³
ã·ã§ã«ã¹ã¯ãªãã1è¡ç®ã®ã#!ãã®å³åŽã«ã¯ãéåžž/bin/shãªã©ã®ã·ã§ã«ãèšè¿°ãããã®ã·ã§ã«ã«ãã¡ã€ã«ãè§£éãããŸãããããã«ãã·ã§ã«ä»¥å€ã®äžè¬ã®ã³ãã³ããèšè¿°ããããšã«ãããå€ãã£ãHello Worldã®ã¹ã¯ãªãããäœãããšãã§ããŸãã
ãªã¹ã5ã¯ãtailã³ãã³ããäœ¿ãæ¹æ³ã§ããtailã¯ããã¡ã€ã«ã®çµç«¯ãããåŒæ°ã§æå®ããè¡æ°ã ãã衚瀺ããããã®ã³ãã³ãã§ãããã®ã¹ã¯ãªãã(ãã¡ã€ã«åã¯sh_tail)ãå®è¡ãããšãã/usr/bin/tail -1 sh_tailããšããã³ãã³ããå®è¡ãããsh_tailã®æåŸã®1è¡ã«æžãããŠããHello Worldã®æååã ãã®ãŸãŸåºåããããšããä»çµã¿ã§ãã
ãªã¹ã5 tailã³ãã³ããäœ¿ãæ¹æ³(sh_tail)
#!/usr/bin/tail -1 â tailã³ãã³ãã䜿ã£ãã¹ã¯ãªãã
Hello World â ãã¡ã€ã«ã®æçµè¡ã«ã¡ãã»ãŒãžãçŽæ¥èšè¿°
次ã«ããªã¹ã6ã¯ãgrepã³ãã³ããäœ¿ãæ¹æ³ã§ããgrepã¯ãåŒæ°ã§æå®ããæ£èŠè¡šçŸã«äžèŽããè¡ã®ã¿ããã¡ã€ã«ããæãåºãã³ãã³ãã§ããããã§ã¯æ£èŠè¡šçŸãšããŠã^[^#]ããæå®ããŠãããããã#以å€ã®ä»»æã®æåããå§ãŸãè¡ãã®ã¿ãæãåºãããŸãããªãã空è¡ã¯æãåºãããŸããããã®çµæããã¡ã€ã«äžã§#以å€ã®æåããå§ãŸãHello Worldã®è¡ã®ã¿ãæãåºãããããã衚瀺ããããšããä»çµã¿ã§ãã
ãªãããgrep ^[^#]ããšããã³ãã³ããã·ã§ã«äžã§å®è¡ããéã«ã¯ãç¹æ®èšå·ãã·ã§ã«ã«ãã£ãŠè§£éãããã®ãé²ãããããgrep '^[^#]'ãã®ããã«æ£èŠè¡šçŸãã·ã³ã°ã«ã¯ã©ãŒãã§å²ãå¿ èŠããããŸããããã®äŸã®å Žåã¯éã«ã·ã³ã°ã«ã¯ã©ãŒããä»ããŠã¯ãããŸãããããã¯ãã#!ãã®å³åŽã«èšè¿°ããgrepã³ãã³ãã¯ãã·ã§ã«ã«ãã£ãŠã§ã¯ãªããã«ãŒãã«ã«ãã£ãŠçŽæ¥è§£éãããããã§ãã
ãªã¹ã6 grepã³ãã³ããäœ¿ãæ¹æ³(sh_grep)
#!/bin/grep ^[^#] â grepã³ãã³ãã䜿ã£ãã¹ã¯ãªãã
â ããã¯ç©ºè¡(ã¹ããŒã¹ããªã)
Hello World â ãã¡ã€ã«ã«ã¡ãã»ãŒãžãçŽæ¥èšè¿°