shell寫腳本文件
在編寫Linux shell腳本時,通常會以 #!/bin/sh 開頭,盡管這並非強制要求,但最好單獨寫在一行,以便明確指定執行此腳本的shell程序。除了/bin/sh之外,也可以選擇其他shell,如/bin/zsh等。腳本主體部分則是由一系列命令構成,通過這些命令實現特定的功能或邏輯。
Linux的shell腳本具有豐富的功能,藉助高度模塊化的命令集,完全可以編寫出復雜的程序來滿足各種需求。不過,對於編寫復雜的腳本而言,僅僅了解基本的語法是不夠的,還需要深入學習相關的高級特性,比如條件語句(如if——fi、case——esac等結構),這些結構能夠幫助實現更復雜的邏輯判斷。
另外,為了讓腳本能夠被執行,需要賦予其可執行許可權。使用命令 chmod +x ./file.sh 可以實現這一點,其中file.sh是腳本文件名。如果不想每次都輸入chmod命令,也可以直接通過 sh ./file.sh 來執行腳本,這里的sh同樣代表執行腳本所需的shell程序,當然,也可以用zsh或其他shell代替sh。
編寫shell腳本的過程中,掌握這些基礎知識和技巧是非常重要的。同時,也要注意腳本的可讀性和可維護性,盡量保持代碼的整潔和規范,以便於他人理解和維護。隨著不斷實踐和學習,你將能夠編寫出更加復雜和高效的shell腳本來解決各種問題。
2. 編寫Shell腳本---接受、判斷用戶參數
[TOC]
如果想查看當前所在工作路徑並列出當前目錄下所有的文件及屬性信息,實現這個功能的腳本如下:
Shell腳本文件的名稱可以任意,但為了避免被誤以為是普通文件,建議將 .sh 後綴加上,以表示是一個腳本文件
在上面的 example.sh 腳本中出現了三種不同的元素:
執行腳本有兩種方式:
各變數的作用:
用測試語句測試一個文件是否為目錄,然後通過 Shell 解釋器內設 $? 變數顯示上一條命令的返回值
在Shell終端中邏輯「與」的運算符號是 && ,它表示當前面的命令執行成功後才執行後面的命令
等號兩邊必須要有空格,才能進行邏輯等於
它表示把條件測試中的判斷結果取相反值
整數比較運算符僅對數字操作,且不能使用等號、大於號、小於號來判斷。因為等號與賦值命令符沖突,大於號和小於號分別與輸出重定向和輸入重定向命令符沖突。因此一定要使用規范的整數比較運算符進行操作。
示例:使用 free -m 命令查看內存使用量情況(單位MB),然後通過 grep Mem: 命令過濾出剩餘內存量的行,使用 awk'{print $4}' 命令只保留第四列,最後用 FreeMem=`語句` 的方式把語句內執行結果復制給變數
示例1 :判斷String變數是否為空,進而判斷是否定義了這個變數
示例2 :引入邏輯運算符,判斷語系LANG
3. 如何編寫一個簡單的shell腳本
1、首先打開編程界面,查看現在dog目錄下的文件的許可權信息。
4. shell腳本創建文件並寫入內容
一、cat和EOF
cat命令是linux下的一個文本輸出命令,通常是用於觀看某個文件的內容的;
EOF是「end of file」,表示文本結束符。
結合這兩個標識,即可避免使用多行echo命令的方式,並實現多行輸出的結果。
二、使用
看例子是最快的熟悉方法:
# cat << EOF > test.sh
> #!/bin/bash
> #you Shell script writes here.
> EOF
結果:
引用
# cat test.sh
#!/bin/bash
#you Shell script writes here.
可以看到,test.sh的內容就是cat生成的內容。