→ kenduest: 裡面時間部分可以改成 let time++ 會比較快 07/11 01:38
→ kenduest: 呼叫外部 expr 效率上太慢了.改用 time=$[time+1]也可 07/11 01:38
→ newversion: 我是希望相容 sh, dash :-) (不知道sh有嗎?) 07/11 01:39
→ kenduest: 是的,考慮相容性的確得這樣寫。 07/11 01:46
→ kenduest: 不過你都說 bash 還有一招了 XD 07/11 01:48
→ lantw44: sh 有 time=$(( $time + 1 )) 07/11 02:15
→ kenduest: 老實說還真是沒有研究太多純 sh 的語法到底支援到哪層級 07/11 03:14
→ kerwinhui: POSIX2001的$((...))除了沒有++和--以外應該沒缺其他的 07/11 12:02
玩BSD就得被迫用純sh寫
bash的好處是多功能,又能向下相容
要寫跨平台的script 所以考慮相容性比較好^^
※ 編輯: newversion (118.150.169.155), 07/11/2016 16:13:31
→ kenduest: 其實我手上 bsd 的 server 我都裝 bash 與 ksh 07/11 19:10
→ kenduest: 系統安裝好第一件事情,先改成 bash/ksh 當預設 shell 07/11 19:10
→ kenduest: 不過算是 linux 經驗帶過去了。 07/11 19:11
→ kenduest: 題外話用 `expr` 計算數值這個效率是真的不好 07/11 19:13
→ kenduest: 若要重複跑大量的計算,改用其他方式會比較有效率提昇 07/11 19:13
→ kenduest: 剛測試一下建立1000個檔案,用 expr 與內建計算語法 07/11 19:16
→ kenduest: 5000 個檔案目錄會分別使用 45sec 與 22sec 07/11 19:19
→ kenduest: 抱歉,是 5000 個檔案。不過檔案月少時間差距就越小 07/11 19:20
→ danny8376: 回樓上 還記得我為了方便連root也改bash 07/12 16:22
→ danny8376: 結果某次更新系統lib大爆炸 連bash都死的時候整個(ry 07/12 16:22
→ LIAR: 感謝,版上兩種方法我都會研究,我對相容性高的也有需求 07/17 09:51