[29期] [Linux常用]Shell 命令和語句
[常用]Shell 命令和語句
1. read命令:從鍵盤讀入資料,賦給變數
# read USERNAME
範例:
2. expr 命令:對整數型變數進行算術運算。
語法:
# expr Num1 + Num2
-
\* 需要轉義
/
示例:[conde]
expr $var1 – 5
expr $var1 / $var2
expr $var3 \* 10
expr `expr 5 + 7` / $var4 * 複雜的運算
var4=`expr $var1 / $var2`
[conde]
3. test 語句:變數測試語句,用於測試變數是否相等、是否為空、檔案型別等。
# test 測試條件
測試範圍:整數、字串、檔案
a) 整數測試
test INT1 –eq INT2 測試整數是否相等(INT1 is equal to INT2)
test INT1 –ge INT2 測試INT1是否>=INT2 (INT1 is greater than or equal to INT2)
test INT1 –gt INT2 測試INT1是否>INT2(INT1 is greater than INT2)
test INT1 –le INT2 測試INT1是否=<INT2(INT1 is less than or equal to INT2)
test INT1 –lt INT2 測試INT1是否<INT2(INT1 is less than INT2)
test INT1 –ne INT2 測試整數是否不相等(INT1 is not equal to INT2)
b) 字串測試
test STR1=STR2 測試字串是否相等
test STR1!=STR2 測試字串是否不相等
test STR1 測試字串是否不為空
test –n STR1 測試字串是否不為空
test –z STR1 測試字串是否為空
c) 檔案測試
test –d FILE 指定檔案是否目錄
test –f FILE 指定檔案是否常規檔案
test –x FILE 指定檔案是否可執行
test –r FILE 指定檔案是否可讀
test –w FILE 指定檔案是否可寫
test –a FILE 指定檔案是否存在
test –s FILE 檔案的大小是否非0
d) 變數測試語句:一般不單獨使用,一般做為if語句的測試條件,如
if test –d $1 then
…
fi
說明:測試$1是否為目錄
簡化:變數測試語句可用[ ]進行簡化,如test –d $1 等價於 [ -d $1 ]
e) 範例1:判斷兩個數的大小
程式碼:
執行:
f) 範例2:測試apache是否啟動
程式碼:
流程控制語句:用於控制shell程式的流程
4. exit語句:退出程式執行,並返回一個返回碼,返回碼為0表示正常退出,非0表示非正常退出。
語法:exit 0
5. if 語句
if...then...fi
範例:從新啟動apache服務
6. if...else 語句
語法:
if 條件1 than
命令1
elif 條件2 then
命令2
else
命令3
fi
其他:多個條件的聯合
-a:邏輯與,僅當兩個條件都成立時,結果為真。
-o:邏輯或,兩個條件只要有一個成立,結果為真。
範例:
7. for ... done 語句
語法:
for 變數 in 名字表
do
命令列表
done
範例:
8. select 語句
語法:
select 變數 in 關鍵字
do
command 1
…
command n
…
done
說明:select把關鍵字中的每一項做成類似表單,以互動的方式執行do和done之間的命令。
範例:
執行結果:
9. case...esac 語句
語法:
case 變數 in
字串1) 命令列表1
;;
...
字串n) 命令列表n
;;
esac
範例1:
執行結果:
範例2:select與case結合使用
執行結果:
10. while 語句
語法:
while 條件
do
命令
done
範例:
11. until 語句
語法:
until 條件
do
命令
done
說明:until類似while迴圈,不同的是until是條件返回值為假時才繼續執行。
範例1:
範例2:until和read的結合,判斷輸入的字元,直到正確時迴圈退出
關於:[ "$input" = "Y" ] || [ "$input" = "y" ],有一個為真,即為真。全部為假時即為假。
1. read命令:從鍵盤讀入資料,賦給變數
# read USERNAME
範例:
|
2. expr 命令:對整數型變數進行算術運算。
語法:
# expr Num1 + Num2
-
\* 需要轉義
/
示例:[conde]
expr $var1 – 5
expr $var1 / $var2
expr $var3 \* 10
expr `expr 5 + 7` / $var4 * 複雜的運算
var4=`expr $var1 / $var2`
[conde]
3. test 語句:變數測試語句,用於測試變數是否相等、是否為空、檔案型別等。
# test 測試條件
測試範圍:整數、字串、檔案
a) 整數測試
test INT1 –eq INT2 測試整數是否相等(INT1 is equal to INT2)
test INT1 –ge INT2 測試INT1是否>=INT2 (INT1 is greater than or equal to INT2)
test INT1 –gt INT2 測試INT1是否>INT2(INT1 is greater than INT2)
test INT1 –le INT2 測試INT1是否=<INT2(INT1 is less than or equal to INT2)
test INT1 –lt INT2 測試INT1是否<INT2(INT1 is less than INT2)
test INT1 –ne INT2 測試整數是否不相等(INT1 is not equal to INT2)
b) 字串測試
test STR1=STR2 測試字串是否相等
test STR1!=STR2 測試字串是否不相等
test STR1 測試字串是否不為空
test –n STR1 測試字串是否不為空
test –z STR1 測試字串是否為空
c) 檔案測試
test –d FILE 指定檔案是否目錄
test –f FILE 指定檔案是否常規檔案
test –x FILE 指定檔案是否可執行
test –r FILE 指定檔案是否可讀
test –w FILE 指定檔案是否可寫
test –a FILE 指定檔案是否存在
test –s FILE 檔案的大小是否非0
d) 變數測試語句:一般不單獨使用,一般做為if語句的測試條件,如
if test –d $1 then
…
fi
說明:測試$1是否為目錄
簡化:變數測試語句可用[ ]進行簡化,如test –d $1 等價於 [ -d $1 ]
e) 範例1:判斷兩個數的大小
程式碼:
|
執行:
|
f) 範例2:測試apache是否啟動
程式碼:
|
流程控制語句:用於控制shell程式的流程
4. exit語句:退出程式執行,並返回一個返回碼,返回碼為0表示正常退出,非0表示非正常退出。
語法:exit 0
5. if 語句
if...then...fi
範例:從新啟動apache服務
|
6. if...else 語句
語法:
if 條件1 than
命令1
elif 條件2 then
命令2
else
命令3
fi
其他:多個條件的聯合
-a:邏輯與,僅當兩個條件都成立時,結果為真。
-o:邏輯或,兩個條件只要有一個成立,結果為真。
範例:
|
7. for ... done 語句
語法:
for 變數 in 名字表
do
命令列表
done
範例:
|
8. select 語句
語法:
select 變數 in 關鍵字
do
command 1
…
command n
…
done
說明:select把關鍵字中的每一項做成類似表單,以互動的方式執行do和done之間的命令。
範例:
|
執行結果:
|
9. case...esac 語句
語法:
case 變數 in
字串1) 命令列表1
;;
...
字串n) 命令列表n
;;
esac
範例1:
|
執行結果:
|
範例2:select與case結合使用
|
執行結果:
|
10. while 語句
語法:
while 條件
do
命令
done
範例:
|
11. until 語句
語法:
until 條件
do
命令
done
說明:until類似while迴圈,不同的是until是條件返回值為假時才繼續執行。
範例1:
|
範例2:until和read的結合,判斷輸入的字元,直到正確時迴圈退出
|
關於:[ "$input" = "Y" ] || [ "$input" = "y" ],有一個為真,即為真。全部為假時即為假。
相關文章
- shell學習-常用語句
- Linux-Shell語法(5)-常用命令Linux
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- shell指令碼-if else 語句以及test命令指令碼
- 常用的shell命令和使用技巧
- 常用shell 命令
- 37條常用Linux Shell命令組合Linux
- 常用adb 和 adb shell 命令
- HBase 常用Shell命令
- Shell 指令碼語句指令碼
- ORACLE DBA常用語句和指令碼Oracle指令碼
- Shell常用命令
- ORACLE常用語句:Oracle
- 常用MSSQL語句SQL
- 常用Javascript語句JavaScript
- mySql常用語句MySql
- MongoDB常用語句MongoDB
- 常用oracle語句Oracle
- 常用SQL語句SQL
- sql常用語句SQL
- oracel常用語句
- shell 學習之for語句
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- Linux-MySQL基本命令-SQL語句LinuxMySql
- Power Shell 常用命令
- Mac 下常用的 Shell 命令Mac
- Mysql日期常用語句MySql
- 【MySQL】常用拼接語句MySql
- MongoDB中常用語句MongoDB
- mysql的常用語句MySql
- oracle常用SQL語句OracleSQL
- 常用的SQL語句SQL
- SQL常用語句整理SQL
- 常用的SQL 語句SQL
- MySql 常用Sql語句MySql
- DBA常用SQL語句SQL
- 常用 SQL 語句大全SQL
- Matlab常用語句Matlab