echo:echo -n不換行輸出,echo -e會處理特殊字元,比如有\n則會換行
printf:不自動換行輸出
print:自動換行輸出
$# 傳遞到指令碼的引數個數
$* 以乙個單字串顯示所有向指令碼傳遞的引數。
$$ 指令碼執行的當前程序id號
$! 後台執行的最後乙個程序的id號
$@ 與$*相同,但是使用時加引號,並在引號中返回每個引數。
$- 顯示shell使用的當前選項,與set命令功能相同。
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
相等 -eq
不相等 -ne
大於 -gt
小於 -lt
大於等於 -ge
小於等於 -le
!非 -o 或 -a 與
&& 與 || 或
= 等於 != 不等於
-z 字串長度為0則返回true
-n 字串長度不為0則返回true
$ 字串不為空則返回true
單行用#
多行用:<<』
』:<`` 比如:line=`cat file.txt|awk 『』|head -n 1` 先執行``中的內容,再進行賦值
$()的用法一樣
二者區別:``無轉義;$()有轉義
例題:輸出file.txt檔案的第10行
tail -n+10 file.txt |head -1
編寫Shell指令碼
獲取變數的方式 1 echo path 2 echo 3 echo path 引數的提取 引數的個數 n 第n個引數 0 當前指令碼名稱 取出所有引數 shift 引數左移 執行過程 2 編寫指令碼內容 單獨講解 3 新增執行許可權 chmod a x abc.sh 4 當前目錄執行 abc.sh ...
Shell 指令碼編寫
shell 指令碼與 windows dos 下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比 windows 下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了 linux unix 下的命令。方法一...
shell指令碼編寫注意
這八個建議,於鍵者幾年來編寫 shell 指令碼的一些經驗和教訓。事實上開始寫的時候還不止這幾條,後來思索再三,去掉幾條無關痛癢的,最後剩下八條。毫不誇張地說,每條都是精挑細選的,雖然有幾點算是老生常談了。shell 指令碼的第一行,之後應該是什麼?如果拿這個問題去問別人,不同的人的回答可能各不相同...