shell函式應用
函式定義格式
[function] 函式名()
其中 [ function ] 是可選的,表示該函式的功能(可省略)
[return x]的作用是當命令序列執行完後返還系統乙個值
例:
函式寫的計算器
shell指令碼除錯
sh [-nvx] 指令碼名
-n:不會執行指令碼,僅查詢語法是否有問題
-v:執行指令碼時,先將指令碼內容輸出然後執行指令碼,如果有錯,也會給出提醒
-x:將執行的指令碼內容輸出到螢幕上
sed工具sed用法示例插入
在root行前輸出hello
sed '/root/i hello' /etc/passwd
在root行下一行輸出hello
sed '/root/a hello' /etc/passwd
刪除
刪除最後一行
sed '$d' /etc/passwd
刪除空行 sed '^$' /etc/passwd
刪除root行
sed '/root/d' /etc/passwd
刪除不包含root行
sed '/root/!' /etc/passwd
替換
s/舊/新/g
s/^/#/ 每行行首插入#號
1,10y/root/root/ 將第1-10行中的root替換為root
遷移
將包含root的行遷移至末尾
sed '/root/;$g' /etc/passwd
h表示儲存當前模式到乙個緩衝區,g表示取出儲存的模式
sed '/root/w file' /etc/passwd
將包含root的行另存為檔案file1
將包含root的行遷移至末尾
sed '/root/;$g /etc/passwd'
將第1-5行內容遷移至末尾
sed '1,5;$g' /etc/passwd
如果想直接修改檔案內容
加 -i 就行
shell指令碼程式設計之sed
sed 選項 指令 動作 檔案 n 使用安靜 silent 模式。在一般 sed 的用法中,所有來自 stdin 的資料一般都會被列出到終端上。但如果加上 n 引數後,則只有經過sed 特殊處理的那一行 或者動作 才會被列出來。f 直接將 sed 的動作寫在乙個檔案內,f filename 則可以執...
SHELL程式設計之case與函式
使用case語句改寫if多分支可以使指令碼結構更加清晰 層次分明 針對變數不同取值,執行不同的命令序列 case語句結構如下 case 變數值 in 模式1 命令序列1 模式2 命令序列2 預設命令序列 esac 1 bin bash 2 read p 請輸入乙個字元 key 3 case key ...
shell程式設計之函式
shell函式的本質是一段可以重複使用的腳步 這段 被提前編寫好了,放在了指定的位置,使用時直接呼叫即可 1 定義函式 可以帶function fun 定義,也可以直接fun 定義,不帶任何常數 方法一 function name 方法二 name function 是shell中的關鍵字,專門用來...