shell指令碼編寫

2021-10-06 13:38:49 字數 770 閱讀 1250

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 指令碼的第一行,之後應該是什麼?如果拿這個問題去問別人,不同的人的回答可能各不相同...