執行Shell 1. 輸入完整腳本文件路徑即可執行。 提示:許可權不夠,則執行 。 2. 執行 。 簡單的腳本 shell !/bin/bash 上面的是指定解釋器 echo $PATH echo 路徑輸出完畢! echo [ 條件表達式 ] 條件表達式兩側需要各有一個空格。 使用 返回條件表達式結果 ...
執行Shell
輸入完整腳本文件路徑即可執行。
提示:許可權不夠,則執行
chmod u+x 文件名
。執行
bash shell文件名稱
。
簡單的腳本
#!/bin/bash
# 上面的是指定解釋器
echo $PATH
echo 路徑輸出完畢!
echo `date +%Y%M%d`
接受輸入參數
執行shell文件時,在文件後使用空格隔開多個輸入參數。
shell文件中使用輸入參數
參數 說明 $n 用戶輸入的第n個參數,從1開始 $# 用戶輸入的擦書總數 $* 用戶輸入的所有參數值,使用空格隔開
條件測試語法
Shell 腳本中的條件測試語法可以判斷表達式是否成立,
若條件成立則返回數字 0,否則便返回其他隨機數值。
語法格式:
[ 條件表達式 ]
- 條件表達式兩側需要各有一個空格。
- 使用
$?
返回條件表達式結果。 - 條件表達式可以是變數也可以是具體的值。
&&
表示當前面的命令執行成功後才會執行它後面的命令。||
表示當前面的命令執行失敗後才會執行它後面的命令。!
示把條件測試中的判斷結果取相反值。
測試運算符
運算符 | 說明 |
---|---|
-d | 測試文件是否為目錄類型 |
-e | 測試文件是否存在 |
-f | 判斷是否為一般文件 |
-r | 測試當前用戶是否有許可權讀取 |
-w | 測試當前用戶是否有許可權寫入 |
-x | 測試當前用戶是否有許可權執行 |
-eq | 兩個數字是否等於 |
-ne | 兩個數字是否不等於 |
-gt | 數字A是否大於數字B |
-lt | 數字A是否小於數字B |
-le | 數字A是否等於或小於數字B |
-ge | 數字A是否大於或等於數字B |
= | 比較字元串內容是否相同 |
!= | 比較字元串內容是否不同 |
-z | 判斷字元串內容是否為空 |
實例:
[ 1 -eq 2 ] || echo '這個說法是對的'
流程式控制制語句
if語句
語法:
if 條件測試語句 then
命令...
fi
if-else語句
語法:
if 條件測試語句 then
命令...
else
命令...
fi
case語句
語法:
case 變數值 in
值1)
命令..
;;
值2)
命令..
;;
...
*)
預設的命令..
;;
esac
*
代表不在所列出範圍內的值。- 匹配值可以有多個。
條件迴圈語句
for迴圈
語法:
for 變數名 in 取值列表
do
命令...
done
- 取值列表可以是命令查出來的值。
- 迴圈體內可以使用
$變數名
的形式獲取當前變數的值。
while迴圈
語法:
while 條件測試語句
do
命令...
done