標籤:shell指令碼
1:重新導向中的錯誤和輸出定向到同一檔案的方式是:
如:ls + 1>list.txt 2>&1 或 ls + &>list.txt
而不是 ls + 2>&1 list.txt
2: -exec中的{} \;這是命令格式,不是換行,中間有個空格並且\需要直接接;
{}替換-exec中的輸出
3:time中的時間為:
atime:訪問時間;
mtime:修改時間;(主要是內容)
ctime:改變時間;(主要是許可權)
以上以天為單位;amin、mmin和cmin則為分鐘。
4:if [ ] 中間命令兩邊要留空格;
[ ]和[ ]中間可以使用的邏輯命令為&&和||;
[ ]內部可以使用的邏輯命令為 -a(和)和-o (或);
進行字串比較時使用[[ ]],不會出錯。
5: echo -n 不換行;echo -e 解釋後面的\t為特殊命令。
6:\e[31m為字元顏色;31m--37m同前;\e[41m為背景色 42m--47m同前;\e[0m重設顏色。
7:printf和C語言中一樣。print以\n為分行符號;print0以\0為分行符號。
8:pgrep 取出進程號。進程的環境變數:/proc/PID/environ
9: 擷取變數的長度:length=${#var}
10:算術運算中可以使用$(())、$[ ]和let。
11:精度確定:echo "scale=2; 2*0.15 "| bc
12: 進位轉換: echo "obase=2;9999"|bc obase可以為任何進位(2、8、16、60等)
13: $1是第一個參數;[email protected]被擴充為"$1"、"$2"、"$3";$*被擴充為"$1c$2c$3"c為IFS界定符(如,空格或:等)。
本文出自 “營運、資料庫” 部落格,請務必保留此出處http://startxx.blog.51cto.com/9565498/1572080
linux中shell指令碼注意要點