ã¯ããã«
ããã®é£è¼ã§ã¯ãUNIXç³»OSãã³ãã³ãã©ã¤ã³ä¸ããå¹çããå©ç¨ããããã«ç¥ã£ã¦ããã¹ããã¯ããã¯ãã便å©ãªå°æãç´¹ä»ãã¦ããã¾ãã
ãä»åã¯ç¬¬0åã¨ãããã¨ã§ãä»å¾ä¾¿å©ãªUNIXã³ãã³ããç´¹ä»ããã«ããããç¥ã£ã¦ãããããã·ã§ã«ã®å¶å¾¡æ§é ãããæ£è¦è¡¨ç¾ããªã©ããä¾ã交ããªããç°¡åã«å¾©ç¿ãã¦ããã¾ãã
対象èªè
- UNIXç³»OSã³ãã³ããä¸éãå©ç¨ãããã¨ãããæ¹
- æ£è¦è¡¨ç¾ãå©ç¨ãããã¨ãããæ¹
- ä½ããã®ããã°ã©ãã³ã°çµé¨ãããæ¹
åä½ç¢ºèªç°å¢
- Linuxï¼Debian etch/Fedora 8ï¼
- FreeBSD 6.1
- Cygwin 1.5.X
ããªãã¹ãUNIXç³»OSä¸è¬ã«å½ã¦ã¯ã¾ããã解説ããã®ã§ãç¹ã«è¨è¿°ããªãå ´åã¯ãMac OS XãRed Hat Linuxä¸ã§ãåä½ãã¾ãã
ãã·ã§ã«ã«é¢ãã¦ã¯ãbashï¼Bourne-Again Shell 2ããã³3ï¼ãæ³å®ãã¦ãã¾ãã
ãããããªå®è¡æ¹æ³
ãã¤ãã©ã¤ã³
ãã³ãã³ããå·¦ããå³ã«é ã«å®è¡ãããåã®ã³ãã³ãã®åºåï¼æ¨æºåºåï¼ã次ã®ã³ãã³ãã«å ¥åï¼æ¨æºå ¥åï¼ããã¾ãã
ã³ãã³ã1 | ã³ãã³ã2 | ...
ã³ãã³ããªã¹ã
ãã³ãã³ããå·¦ããå³ã«é ã«å®è¡ããã¾ããã;ã(ã»ãã³ãã³)ã§åºåããã¨ã§ã1è¡ã«è¤æ°ã®ã³ãã³ããæ¸ããã¨ãã§ãã¾ãã
ã³ãã³ã1 ; ã³ãã³ã2 ; ...
ãæ¬¡ã®ããã«ãã³ãã³ããã&&ãã§åºåã£ã¦æ¸ãã¨ãåã®ã³ãã³ããæåããå ´åï¼çµäºã³ã¼ãã0ã®å ´åï¼ã®ã¿ãå¾ãã®ã³ãã³ããå®è¡ããã¾ãã
ã³ãã³ã1 && ã³ãã³ã2
ãã³ãã³ã1ãæ£å¸¸çµäºä»¥å¤ï¼çµäºã³ã¼ãã0以å¤ï¼ã ã£ãããã³ãã³ã2ãå®è¡ããã¾ãã
ã³ãã³ã1 || ã³ãã³ã2
ãæ¬¡ã®ä¾ã§ã¯ãä¸è¬çãªã³ã³ãã¤ã«æé ã§ããã./configureããmakeããmake installããé çªã«å®è¡ãã¾ããéä¸ã§ã¨ã©ã¼ãçºçããå ´åããã以éã®ã³ãã³ãã¯å®è¡ããã¾ããããã®ããä¸è¦ãªã³ã³ãã¤ã«æéã®ç縮ã«ãªãã¾ãã
$ ./configure && make && make install
ã³ãã³ãç½®æ
ãã$()ãã§å²ã¾ããé¨åã¯ããã®ã³ãã³ãã®å®è¡çµæã«ç½®ãæãããã¾ããä¾ãã°ãç¾å¨ã®æ¥æã®ãã¡ã¤ã«ãæ°è¦ä½æããã«ã¯ãtouchã³ãã³ãã使ç¨ãã¦æ¬¡ã®ããã«è¨è¿°ã§ãã¾ãã
$ touch $(date +%F) $ ls 2008-09-05
ãdateã³ãã³ãã¯ãç¾å¨ã®æ¥æã表示ãã¾ããã¾ãã+%Fããªãã·ã§ã³ãä»ãããã¨ã§ããyyyy-mm-ddãå½¢å¼ã®æ¥æã表示ãã¦ãã¾ãã
ãã³ãã³ãç½®æã¯ã`...`ãï¼ããã¯ã¯ã©ã¼ãï¼ã使ã£ã¦ã次ã®ããã«ãè¨è¿°ã§ãã¾ãã
$ touch `date +%F`
ããã ãããã¹ãããããã»èªã¿ãããã¨ããçç±ãããbashã§ã¯ã$()ãã使ããã¨ãå¤ãããã§ãã
ãã¬ã¼ã¹å±é
ãã,ãã«ã³ãã§åºåã£ãè¤æ°ã®æååãã{}ããã¬ã¼ã¹ï¼ä¸æ¬å¼§ï¼ã§å²ãäºã§ãå²ãã æååãå±éãããã¨ãã§ãã¾ãã
ãè¤æ°ã®ãã£ã¬ã¯ããªãä¸åº¦ã«æ°è¦ä½æããã«ã¯ãmkdirã³ãã³ãã使ç¨ãã¦æ¬¡ã®ããã«è¨è¿°ã§ãã¾ãã
$ mkdir {dir1,dir2,dir3}
$ ls
dir1/ dir2/ dir3/
ãã¾ããæ¬¡ã®ããã«ãã£ã¬ã¯ããªåã«å¯¾ãã¦ãé¨åçã«ä¸æ¬å¼§ãå©ç¨ãããã¨ãã§ãã¾ãã
$ mkdir dir{1,2,3}
$ ls
dir1/ dir2/ dir3/
ãã®ããã«ãç°ãªãæååãè¤æ°åæå®ããå ´åã«å½¹ç«ã¡ã¾ãã
ã·ã§ã«ã®å¤æ°å±é
ã夿°ããå¤ãåãåºãã¨ãã«ä½¿ãããã®ã夿°å±éã§ããã$夿°åãã¾ãã¯ã${ 夿°å }ãã®ããã«ä½¿ãã¾ãã
ã代表çãª4種é¡ãç´¹ä»ãã¾ãã
| 夿°å±é | 説æ |
| ${ãã©ã¡ã¼ã¿#ãã¿ã¼ã³} | ãã©ã¡ã¼ã¿åæ¹ããããã¿ã¼ã³ã«æçä¸è´ããé¨åãé¤ã |
| ${ãã©ã¡ã¼ã¿##ãã¿ã¼ã³} | ãã©ã¡ã¼ã¿åæ¹ããããã¿ã¼ã³ã«æé·ä¸è´ããé¨åãé¤ã |
| ${ãã©ã¡ã¼ã¿%ãã¿ã¼ã³} | ãã©ã¡ã¼ã¿å¾æ¹ããããã¿ã¼ã³ã«æçä¸è´ããé¨åãé¤ã |
| ${ãã©ã¡ã¼ã¿%%ãã¿ã¼ã³} | ãã©ã¡ã¼ã¿å¾æ¹ããããã¿ã¼ã³ã«æé·ä¸è´ããé¨åãé¤ã |
ãæ¬¡ã®ããã«ãæ¡å¼µåã®é¤å»ããã¡ã¤ã«åã®åå¾ãªã©ã§ããã使ããã¾ãã
$ mypath=/home/hoge/foo.txt
$ echo ${mypath%.*} → æ¡å¼µåãé¤ã
/home/hoge/foo
$ echo ${mypath##/*/} → ãã¡ã¤ã«åã®ã¿ãå¾ã
foo.txt
