ã¦ã¼ã¶é å¸ç¨ã®bashã·ã§ã«ã使ããããã® 17 ã®ã³ãã³ã
ã¦ã¼ã¶é å¸ç¨ã®ï¼linuxä¸ã®ã·ã§ã«ã¹ã¯ãªããã使ããã
ãã®ããã«å¿ è¦ãªã³ãã³ãã®å ¥éç¥èã
éçºè ãã¢ããªãå®è¡ããã®ã§ã¯ãªãï¼é å¸å ã®ä¸è¬ã®linuxã¦ã¼ã¶ãå®è¡ããã·ã§ã«ã§ããï¼ã¨ããç¹ããã¤ã³ãã
ããããã¨ï¼æ±ããããã®ã¯
- å©ç¨è ã®æã¤ã³ãã³ããå°ãªããã¨
- 䏿¸¬ã®äºæ ï¼ãã£ã¬ã¯ããªãç¡ãã¨ãï¼ãèªåçã«å¤æãã¦ï¼å¦çãæ£å¸¸ã«é²ãããã¨
æ±ãã³ãã³ãé¡ã¯ï¼ä¸è¨ã®17åã
- ï¼ï¼ï¼åæºå
- ï¼ï¼âï¼ï¼cp, tar
- ï¼ï¼âï¼ï¼shebang
- ï¼ï¼âï¼ï¼å¤æ°å®£è¨ï¼date
- ï¼ï¼âï¼ï¼testï¼exit
- ï¼ï¼âï¼ï¼test, mkdirï¼rm
- ï¼ï¼âï¼ï¼/etc/init.d/-- stop
- ï¼ï¼âï¼ï¼sh
- ï¼ï¼ï¼ã¡ã¤ã³å¦ç
- ï¼ï¼âï¼ï¼for, find, grep
- ï¼ï¼âï¼ï¼head, tail
- ï¼ï¼âï¼ï¼sed
- ï¼ï¼âï¼ï¼patch, diff
- ï¼ï¼âï¼ï¼å¤é¨è£½åã®CUIå¼ã³åºã
- ï¼ï¼âï¼ï¼tar
- ï¼ï¼ï¼äºå¾å¦ç
- ï¼ï¼âï¼ï¼touch
- ï¼ï¼âï¼ï¼/etc/init.d/-- start
- ï¼ï¼âï¼ï¼echoã§çµäºéç¥
- ï¼ï¼âï¼ï¼ãªãªã¼ã¹
ï¼ï¼ï¼åæºå
ï¼ï¼âï¼ï¼cp, tar
ã¾ãï¼ã¦ã¼ã¶ãã·ã§ã«ã渡ãããæã«ãã¹ããã¨ãèãã¦ã¿ãã
- tar.gzãæ¸¡ãããã
- ã¦ã¼ã¶ã¯ï¼ï¼ã¤ã®ã³ãã³ããå®è¡ããã
- ã¾ãï¼tar.gzãæå®ãã©ã«ãã«ç§»åã
- 次ã«ï¼tar.gzãè§£åã
- 次ã«ï¼è§£åãããè³æã®ä¸ã®ã¡ã¤ã³ã·ã§ã«ãèµ·åã
è³æãè§£å
# ã³ãã¼ cp -p /root/shizai.tar.gz /tmp/shizai.tar.gz # è§£å cd /tmp/ tar xvzf shizai.tar.gz # ã¡ã¤ã³ã·ã§ã«ãèµ·å sh shizai/main.sh
ãããã¯ã¦ã¼ã¶ã«æãããå¯ä¸ã®ã³ãã³ãã
ãã¨ã®å¦çã¯ã·ã§ã«å
ã«æ¸ãã
ï¼ï¼âï¼ï¼shebang
å é ã®ãã¾ããªããè¦ããã
#!/bin/bash
shebangã®shã¯sharpããªã®ã§å é ã¯#ã
å é ãsharpãªã®ã§ï¼Perlã§ã¯ã³ã¡ã³ãè¡ã
â»Perlã®shebangã¯Windowsã§ã¯ç¡è¦ããã
å°äººããã¸ã®ç½®ãæç´ãshebang ã¨ã¯
http://www2.u-netsurf.ne.jp/~alt/mt/a...
ãã®ä¸ã«ï¼
- ã¹ã¯ãªããã®å¦çæ¦ç¥
- å¼ã³åºãæ¹
- 使æ¥ä»ï¼ä½æè
ãªã©ã®æ
å ±ãã³ã¡ã³ãã§æ¸ãã
ï¼ï¼âï¼ï¼å¤æ°å®£è¨ï¼date
å é ã«ï¼ãªã½ã¼ã¹ç³»ã®è¨å®æ å ±ãæ¸ãã¦ããã
# è¨å®é ç® target_filename="hoge.csv" target_filepath="/tmp/${target_filename}"
夿°ã®ä¸ã«ãç¾å¨æå»ãå«ããããã¨ããå ´åãããã
ä¾ãã°ï¼ä¸æãã£ã¬ã¯ããªãä½ãã¨ãã«ï¼ä»ã®ãã£ã¬ã¯ããªã®ååã¨è¡çªããããªãã¨ãã
# hoge_å¹´-æ-æ¥_æ-å-ç§ ã®å½¢å¼ã§å¤æ°åãå®ç¾© varname="hoge_$(date +%Y-%m-%d_%H-%M-%S)"
åèï¼
Super Technique è¬åº§ï¼bash è¶ ããã°ã©ã è¡
http://www.nurs.or.jp/~sug/soft/super...
- ã·ã§ã«è¨èªã§ã®å¤æ°ã®å 容ã¯ãåãªãæååãã§ããããããã$ãã«ããåç §ã®çµæããã®å 容ã§ã³ãã³ãã©ã¤ã³è¡ã®ä¸ã«ã·ã³ãã«ãç½®æããå®éã«å®è¡ãã¹ãã³ãã³ãã©ã¤ã³ãçæããã
- ã·ã§ã«è¨èªã®å¤æ°ã«ã¯ãåãã¯ãªããåãªãæååã ã
è¦ç´ã¨ãã¦ï¼
- æåå夿°ã宣è¨ããéã«ã¯ï¼å¼ç¨ç¬¦ã§ããããã¨ã
- $varã§ã¯ãªãï¼å¯èªæ§ã¨ä¿å®æ§ã¨ãã°é²æ¢ã®ããï¼å¸¸ã«${var}ã¨ãããã¨ã
ï¼ï¼âï¼ï¼testï¼exit
å¦çãå§ãããã©ããå¤å®ããã
å®è¡æ¸ã¿ã§ãããã¨ã表ããã¡ã¤ã«ãåå¨ãããªãï¼å®è¡ä¸æ¢ããã
# jikkou_zumiã¨ãããã¡ã¤ã«ãããã°ï¼ã¹ã¯ãªããã®å®è¡ã䏿¢ã [ -f /tmp/jikkou_zumi ] || exit
ãããã¯ï¼ãã®äºãéç¥ããã
lock_file_path="/tmp/jikkou_zumi" if [ -f ${lock_file_path} ]; then echo "ãã®ã¹ã¯ãªããã¯ããå®è¡æ¸ã¿ã§ããå度å®è¡ããå¿ è¦ã¯ããã¾ããã" # ls -l ${lock_file_path} exit fi
exitã¯ï¼å¼ã³åºãå
ã«å¯¾ãã¦ãæ»ãå¤ããè¿ããã
main.sh
sh hoge.sh if [ $? = 0 ] then echo "å¦çã¯æåãã¾ããã" else echo "å¦çã¯å¤±æãã¾ããã" fi
hoge.sh
if ã then echo "æ£å¸¸çµäºã§ãã" exit 0 else echo "ã¨ã©ã¼ãçºçãã¾ããã" exit 1 fi
ã·ã§ã«å¼ã³åºããexitã§çµäºããã±ã¼ã¹ã«éããï¼
ç´åã®ã³ãã³ããæ£å¸¸ã«å®è¡ããããã©ããã確ãããããã«ãã¤ãã$?ãã§çµäºã³ã¼ããæ¾ããã
0ãªãæ£å¸¸çµäºã¨ã¿ãªããã
ï¼ï¼âï¼ï¼test, mkdirï¼rm
使¥éå§ã«å½ãã£ã¦ï¼ä½æ¥ç°å¢ã®æ´åã
è³æãè§£åãããï¼ä¸æãã¡ã¤ã«ç½®ãå ´ç¢ºä¿ãå¿ è¦ã
ãç¡ããã°ä½ããã¨ããå¦çï¼
okiba_dir="/tmp/okiba/dayo" # è³æç½®ãå ´ã®ãã£ã¬ã¯ããªãç¡ããã°ï¼ãã£ã¬ã¯ããªãæ°è¦ä½æ [ -d ${okiba_dir} ] || mkdir -p ${okiba_dir}
mkdirã«ã¯ï¼å¸¸ã«pãªãã·ã§ã³ãã¤ãï¼è¦ªãã£ã¬ã¯ããªãåå¨ããªãã¨ãã䏿¸¬ã®äºæ
ã«åãã¦ããã
é²è¡çã«ã³ã¼ãã£ã³ã°ããã
ãæãã°æ¶ããã¨ããå¦çï¼
temp_dir="/tmp/okiba/garbages" # 使¥ç¨ã®ä¸æãã©ã«ãã¨ååã®ãã£ã¬ã¯ããªãåå¨ãããï¼ãã£ã¬ã¯ããªãã¨åé¤ãã [ -d ${temp_dir} ] && rm -rf ${temp_dir}
ããã§ä½æ¥ç¨ã®ãã©ã«ããæ´ãï¼è³æãã³ãã¼ãããè§£åãããããã
ãªãï¼ãã£ã¬ã¯ããªãæ¶ãéã«ã空ãã£ã¬ã¯ããªãã©ããå¤å®ããããï¼ãã空ã§ã¯ãªããªãï¼åé¤ããããªãï¼ã¨ããå ´åãããã
ãã®æ¸ãæ¹ï¼
## ã«ã¬ã³ããã£ã¬ã¯ããªã空ãã©ããå¤å®ãã # ãã¡ã¤ã«æ°ãåå¾ãã file_num_str=$(ls -1 | wc -l) file_num=`expr ${file_num_str}` # ãã¡ã¤ã«æ°ãï¼ãã大ãããã©ããå¤å® if [ ${file_num} -gt 0 ] ; then echo "空ãã£ã¬ã¯ããªã§ã¯ããã¾ããã" else echo "空ãã£ã¬ã¯ããªã§ãã" fi
â»ãã£ã¨ã·ã³ãã«ã«ï¼ls -A ã使ã£ã¦ãããã
# ãã£ã¬ã¯ããªã空ãã©ããå¤å® if [ "$(ls -A /tmp/kesitai/foruda )" ] then echo "空ãã£ã¬ã¯ããªã§ã¯ããã¾ããã" else echo "空ãã£ã¬ã¯ããªã§ãã" fi
Bash Shell Check Whether a Directory is Empty or Not
http://www.cyberciti.biz/faq/linux-un...
- [ "$(ls -A /tmp)" ] && echo "Not Empty" || echo "Empty"
bashã®ifæã§ã¢ã³ãããªã¢æ¡ä»¶å¤å®ã§ãã¾ããï¼
http://okwave.jp/qa/q280252.html
- -a ã§ï¼ï¼ï¼ã-o ã§ || ã«ãªã
ï¼ï¼âï¼ï¼/etc/init.d/** stop
ãããå¦çä¸ã«ä½è¨ãªæ¨ªæ§ãå ¥ã£ã¦ããªãããã«ï¼æ¢ãããããã®ãæ¢ãã¦ããã
ãã¨ãã°ï¼ã¹ã¯ãªããã®å®è¡ãçµäºããã¾ã§ã®éã«ï¼Webãããµã¼ãå ã¸ã®ã¢ã¯ã»ã¹ã鲿¢ãããå ´å
# Apacheã忢 /etc/init.d/httpd stop
Linuxèµ·åã®ä»çµã¿ãçè§£ãããï¼»rcã¹ã¯ãªãã編]
http://www.atmarkit.co.jp/flinux/rens...
- rcã¹ã¯ãªããã¯ãWindowsã®autoexec.batã«ç¸å½ãã
- start()ãããã°ã©ã ã®ã¹ã¿ã¼ãæã«è¡ãå¦çãstop()ãããã°ã©ã çµäºæã«è¡ãå¦ç
ï¼ï¼âï¼ï¼sh
ãããã¬ãã«ã®ã¹ã¯ãªããã«ã¯ã¡ã¤ã³å¦çã®æ¦ç¥ã示ãã
ãããã¯ã¡ã¤ã³å¦çå ã§ã¯ï¼ãµãã®ã·ã§ã«ãé çªã«å¼ã³åºãã¦ãããï¼ã³ã¼ããæ§é åã»é層åããï¼
sh /tmp/hoge.sh
ï¼ï¼ï¼ã¡ã¤ã³å¦ç
ï¼ï¼âï¼ï¼for, find, grep
è¤æ°ã®ãã¡ã¤ã«ãæä½ãããããªã·ã§ã«ã§ããã°ï¼ã¾ãã¯ãã¡ã¤ã«ã¹ãã£ã³ããã¯ãã
ãã¡ã¤ã«ãã¹ããã¡ã¤ã«åï¼ãã¡ã¤ã«å 容ãªã©ã§ï¼ãã£ã«ã¿ãéãã®ã§ããã
ãã£ã¬ã¯ããªä¸ï¼
# ãã£ã¬ã¯ããªç´ä¸ã«åå¨ããhoge_1.html, hoge_2.html, ... ã«å¯¾ãã¦å¦çãè¡ãã¾ãã # hoge_0.htmlã¯å¯¾è±¡å¤ã§ãã for file_name in $(ls -1 /tmp/html_files | grep "hoge_.*\.html" | grep -v "hoge_0\.html" ) do echo "${file_name}ãå¦çãã¾ãã" # åå¥ãã¡ã¤ã«ã®å¦ç # ã done
ãã£ã¬ã¯ããªå
ãå帰çã«ï¼
# /tmpã¨å ¨åãã©ã«ãå ã«åå¨ããhoge_1.html, hoge_2.html, ... ã«å¯¾ãã¦å¦çãè¡ãã¾ãã # hoge_0.htmlã¯å¯¾è±¡å¤ã§ãã for file_name in $(find /tmp -name "hoge_*.html" -print | grep -v "hoge_0\.html" ) do echo "${file_name}ãå¦çãã¾ãã" # åå¥ãã¡ã¤ã«ã®å¦ç # ã done
ç¹å®ã®åãã©ã«ããç¡è¦ãããå ´åï¼
findã®é¨åã以ä¸ã®ããã«æ¸ãæã
# /tmp/mushiå ã®ãã¡ã¤ã«ãç¡è¦ find /tmp -path /tmp/mushi -prune -o -name "hoge_*.html" -print
findã«è¤æ°æ¡ä»¶ã渡ãããå ´åã¯ï¼aãªãã·ã§ã³ã§ANDæ¡ä»¶ãè¨å®ã§ããã
# ååããhogeãã§å§ã¾ããã£ã¬ã¯ããªãå ¨ã¦æ¤ç´¢ find /tmp -name "hoge*" -a -type d -print
ãããããç©ã®åæ°ãæ°ãããå ´åï¼
find /tmp -name "hoge_*.html" -type f -print | wc -l
find ã® -prune ã®ä½¿ãæ¹
http://d.hatena.ne.jp/mtv/20100424/p1
findã®-print ãªãã·ã§ã³ã¯ãã¤ãçããªãã»ãããã
find ã§ç¹å®ãã£ã¬ã¯ããªã対象ããå¤ã
http://www.furyu.atnifty.com/cgi-bin/...
ManPage of find
http://www.linux.or.jp/JM/html/GNU_fi...
grepã¨findããã¹ã¿ã¼ãã人ãããã¸ã§ã¯ãå
ã«ï¼äººããã¨å¿å¼·ãã
ï¼ï¼âï¼ï¼head, tail
æä½å¯¾è±¡ã®ãã¡ã¤ã«ãè¦ã¤ãã£ããï¼æ¬¡ã«ãã¡ã¤ã«å 容ã®è§£æã«åãæããã
è§£æã®ããã«ã¯ï¼ã¾ãæ½åºãå¿
è¦ã
ï¼ã¦ã¼ã¶ã¤ã³ã¿ãã§ã¼ã¹ã§ã¯ãªãã·ã§ã«ã®å¦çãªã®ã§ï¼ã表示ãã§ã¯ãªããæ½åºãã¨ããæ¢ç´¢ããªã®ã ãï¼
ãã¡ã¤ã«ã®å å®¹ãæ½åºãã¦ä¿å
# å é ã®ï¼è¡ãæ½åº cat hoge.txt | head -n 2 > hoge_head.txt # æ«å°¾ã®ï¼è¡ãæ½åº cat hoge.txt | tail -n 2 > hoge_tail.txt # ï¼è¡ç®ããï¼è¡ç®ã¾ã§ãæ½åº cat hoge.txt | head -n 5 | tail -n 2 > hoge_4_to_5.txt
ãå
é ãããã¨ãæ«å°¾ããããçµã¿åããã¦ï¼ãä¸éã ãæ½åºããå®ç¾ãã¦ããã
bash ãã¡ã¤ã«ã®ç¹å®ã®è¡ã¸ã¸ã£ã³ã
http://www.atmarkit.co.jp/bbs/phpBB/v...
- head|tailã³ã³ãã¯ããç¨åº¦éã
ï¼ï¼âï¼ï¼sed
æ½åºãããã¡ã¤ã«ã®å 容ãï¼å å·¥ãã¦ä¿åããã
ååã®ãã¡ã¤ã«ã䏿¸ããããå ´åï¼
# ãã¤ãã³ãç½®æãã¦ä¸æ¸ãä¿å sed -i "s/-/â(ï¾âï¾)â/g" hoge.txt
å¥åã®ãã¡ã¤ã«ã«ä¿åãããå ´åï¼
# ãã¤ãã³ãç½®æãã¦å¥åä¿å cat hoge.txt | sed "s/-/â(ï¾âï¾)â/g" > hoge_hyphen.txt
ä¿åæã«ï¼ç½®æã§ã¯ãªãï¼æåã³ã¼ãã夿ãããå ´åï¼
#UTF8ããSJISã«å¤æãã¦å¥åä¿å cat hoge.txt | nkf -W -s > hoge_sjis.txt
bash㨠sedã§è¤æ°ãã¡ã¤ã«ã®ããã¹ããç½®æããæ¹æ³
http://vikslinuxtips.blogspot.com/200...
find . -name "*.æ¡å¼µå" -exec sed -i "s/å æåå/ç½®æå¾æåå/" {} \;
Linuxä¸ã§æåã³ã¼ãã夿ã§ããã³ãã³ãnkfã®ãªãã·ã§ã³ä¸è¦§
http://it.kndb.jp/entry/show/id/745
大æåãå ¥åï¼å°æåãåºå
ï¼ï¼âï¼ï¼patch, diff
ãããé©ç¨ã
- ãã¡ã¤ã«ã®ã¢ããã°ã¬ã¼ã
- ãã¡ã¤ã«ã®ä¿®å¾©
ã®ãããªè¤éãªç·¨éã»ç½®æå¦çãï¼åãã£ã¦.patchãã¡ã¤ã«å ã«å®ç¾©ãã¦ããã
ãããã®ä½ãæ¹ï¼
diff -u æ§ãã¡ã¤ã« æ°ãã¡ã¤ã« > ããããã¡ã¤ã«å
ã§ãããã£ããããã®é©ç¨æ¹æ³ï¼
ä¿®æ£å¯¾è±¡ãã¡ã¤ã«ã®åå¨ãããã£ã¬ã¯ããªä¸ã§
patch < ããããã¡ã¤ã«å
UNIXã®é¨å± ã³ãã³ãæ¤ç´¢: diff
http://x68000.q-e-d.net/~68user/unix/...
ï¼ï¼âï¼ï¼å¤é¨è£½åã®CUIå¼ã³åºã
ã·ã§ã«ã¹ã¯ãªããã¯ï¼ãã¡ã¤ã«æä½ã®DSLã
ãã以å¤ã®ãã¨ã¯å°ç¨ã®ã¢ããªã±ã¼ã·ã§ã³ã«ä»»ããã
ããã¦ãã¯ï¼ã·ã§ã«ãå®è¡ãã¦ãããã·ã³ä¸ã«ä½ããã¤ã³ã¹ãã¼ã«ãããããª
ãã¤ã³ã¹ãã¼ã©ãçãªå¦çãè¨è¿°ãããã¨ã«ãªãã ããã
ã¨ãããã¨ã¯ï¼ããã±ã¼ã¸ç®¡çã³ãã³ãã¨ãã¦
ãrpm -ivh RPMãã¡ã¤ã«åãã¨æ¸ãã
ããã¤ã³ã¹ãã¼ã«ã«ä¾åé¢ä¿ä¸ã®ã¨ã©ã¼ãçºçãããããªãï¼
ãrpm -ivh --force RPMãã¡ã¤ã«åã
ã¨ããã°ãã¾ããã£ããããã
RPMã§ã¯ãªãï¼JDKãã¤ã³ã¹ãã¼ã«ããå ´åãªããã¯ï¼ã¤ã³ã¹ãã¼ã«ã®æå¾ã«Enterãã¼ãæ¼ãããã«è¦æ±ããã仿§ã ã
ãããèªååããããã«ã¯ï¼ãyes ''ãã¨ããã³ãã³ãã使ãã°ããã
How can I avoid press âEnterâ during Java Sun (Oracle) 1.6 installation on Linux (CentOS)
http://serverfault.com/questions/2492...
- yes '' | ./jdk-6u24-linux-x64.bin
ãã®ä»ï¼ã¤ã³ã¹ãã¼ã«å¦ç以å¤ã«ãï¼ããããªãã®ãã·ã§ã«ããå¼ã³åºããã
# Ruby on Railsã®ã¢ãã«ã¯ã©ã¹ãå¼ã³åºãããå ´å cd ${rails_root_dir} ruby script/runner "MyModel.hoge_method('foo')" # SQLãå®è¡ãããå ´å export PGUSER=user_name export PGPASSWORD=user_pass export PGDATABASE=my_db_name export PATH=$PATH:/usr/local/pgsql/bin psql my_db_name < /tmp/foo.sql
Railsã¢ããªã§ ActiveRecordã使ã£ããããå¦ç ãã®ï¼
http://brass.to/blog/rails_batch_2.html
- script/runnerã¯å¼æ°ã®æååãRubyã¹ã¯ãªããã¨ãã¦è§£éããRailsç°å¢ã§å®è¡ãã
ã·ã§ã«ãããã¹ã¯ã¼ãç¡ãã«ãã¼ã¿ãã¼ã¹ã«æ¥ç¶ããã«ã¯
http://www.ksknet.net/postgresql/post...
- åã¦ã¼ã¶ã® .bash_profile ã«ç°å¢å¤æ°ãæ¸ãè¾¼ã
perlã®ã¯ã³ã©ã¤ãã¼ãæ¸ãã¦ãããã
Linuxä¸ã§Perlã§éçºããããã® bash ã³ãã³ãé
http://language-and-engineering.hatenablog.jp/entry/20100125/p1
ï¼ï¼âï¼ï¼tar
ãã¡ã¤ã«ãåéããå ´åï¼åºããã
# å§ç¸®åã®æºå [ -f result.tar.gz ] && rm -rf result.tar.gz # ã«ã¬ã³ããã£ã¬ã¯ããªå ãå§ç¸® tar -cvzf result.tar.gz ./*
åºããåã«å¿
ãï¼å¿µã®ãããå
客ãæãã°æ¶ããã¨ããå¦çãå
¥ãã¦ããã
ï¼ï¼ï¼äºå¾å¦ç
ï¼ï¼âï¼ï¼touch
ã¹ã¯ãªããã®èª¤åä½ãé²ãããã«ï¼ãå®è¡æ¸ã¿ã ããã¨ããè¨¼è·¡ãæ®ãã
ãinstalledãã¿ãããªååã®ãã¡ã¤ã«ãä½ã£ããã
# ãã®ã¹ã¯ãªãããå®è¡ããããã¨ã®è¨¼è·¡ãæ®ã touch /tmp/jikkou_zumi
ã¹ã¯ãªããå®è¡æã®ãã°ãè¿è¾ºã«æ®ãã¦ãããã
ï¼ï¼âï¼ï¼/etc/init.d/** start
横æ§ãå ¥ã£ã¦ããªãããã«æ¢ãã¦ãããµã¼ãã¹ãåèµ·åããã
# Apacheãèµ·å /etc/init.d/httpd start
ï¼ï¼âï¼ï¼echoã§çµäºéç¥
çµäºããæ¨ï¼éç¥ããã
å¦çãçµãã£ããã¨ã®ã証跡ãã表示ãã¦ãè¯ãã
- ç®çã¨ãããã¡ã¤ã«ã使ããããã©ããâ対象ãã£ã¬ã¯ããªã§ls
- ç®çã¨ããã¢ã¸ã¥ã¼ã«é¡ãã¤ã³ã¹ãã¼ã«ããããâãã®ã¢ã¸ã¥ã¼ã«ã®ããã¼ã¸ã£ã«åãåããã¦ã¿ãï¼Rubyãªãgen whichã¨ãï¼
ã·ã§ã«ã®å®è¡å¾ã«ã¦ã¼ã¶ãå®è¡ããããªã³ãã³ããï¼ã·ã§ã«èªèº«ãæã£ã¦ãããã®ã ã
# éãå¦çã®å¾ã§echoããã¨ï¼å¤§æµè¡¨ç¤ºé ãå´©ããã»ã»ã» sleep 1 echo "çµäºãã¾ããã"
ï¼ï¼âï¼ï¼ãªãªã¼ã¹
ããã¾ã§ä½ã£ãã·ã§ã«ããªãªã¼ã¹ãã¦ï¼å©ç¨å¯è½ã«ããã
ãã®æé ãå¥éã·ã§ã«ã«ãã¦ããï¼éçºã¡ã³ãå ã§èªååããã
ãã©ã«ãæ§æã¯
- ./materials/ : ã·ã§ã«ã®è³æãç½®ã
- ./release/ : ã¦ã¼ã¶ã«æä¾ããï¼ãªãªã¼ã¹çã®ã·ã§ã«ãç½®ã
- ./build.sh : ãªãªã¼ã¹ç¨ã®å§ç¸®ãã¡ã¤ã«ã使ããããã
build.sh :
#!/bin/sh cd ./materials # 以åã®ææç©ãåé¤ rm -f ../release/result.tar.gz # åºããªãã tar cvzf ../release/result.tar.gz * --exclude ".svn"
svnã®é ããã¡ã¤ã«ã¯é¤å¤ãã¦å§ç¸®ãã¦ããã