shell指令碼基礎(6)

2021-09-10 14:39:53 字數 1383 閱讀 4461

1、整數值比較

格式:[整數1 操作符 整數2]

常用測試操作符:

-eq:等於

-ne:不等於

-gt:大於

-lt:小於

-le:小於或等於

-ge:大於或等於

who |wc -l:顯示當前登陸使用者人數

df -th檢視系統當前掛載的分割槽

df -th |grep 'boot' |awk ''(在boot盤中輸出第六列的內容)

df -th |grep 'boot' |awk '' |cut -d '%' -f1(在boot盤中輸出第六列,以%分割顯示第一部分內容)

awk表示在乙個有行和列的檔案中定位特定的位置

dd:用指定大小的塊拷貝乙個檔案,並在拷貝的同時進行指定的轉換

dd if=/dev/zero of=file1.txt bs=1m count=100

2、字串比較

read -p 'name:' name

read -p 'pass:' pass

注意後面變數和前面語句之間的空格

格式:[字串1 = 字串2]

[字串1 != 字串2]

[-z 字串]

常用的測試操作符

=:字串內容相同

!=:字串內容不同,!表示相反的意思

-z:字串內容為空

if [ $name = 'admin' ] && [ $pass = '123' ]

then    

echo '登陸成功!'

else

echo '登陸失敗!'

fi注意if語句各符號之間的空格

3、邏輯測試

格式:[表示式1] 操作符 [表示式2] ...

常用測試操作符:

-a或&&:邏輯與,「並且」的意思

前後兩個表示式都成立時整個測試結果才為真,否則為假

-o或||:邏輯或,「或者」的意思

操作符兩邊至少乙個為真時,結果為真,否則結果為假

!:邏輯否

當指定的條件不成立時,返回結果為真

將其他兩個型別的表示式通過邏輯符號連線在一起從而完成更加複雜的操作

if條件語句--多分支

score=87

if[ $score -lt 60 ];then

echo '60以下!'

elif [ $score -lt 70 ];then

echo '60-70!'

elif [ $score -lt 80 ];then

echo '70-80!'

elif [ $score -lt 90 ];then

echo '80-90!'

else 

echo '90以上!'

fi

shell指令碼基礎鞏固(6)

while命令,也是乙個迴圈命令,while後面後跟著乙個條件,當滿足條件 退出狀態碼為0 時,while內部會一直迴圈執行,直到直到while後面的條件不滿足 退出狀態碼不為0 時,結束這個while迴圈。在編寫時要注意死迴圈。示例如下 執行結果如下 另外的,while後面可以跟多個命令,而最終決...

shell指令碼基礎

執行shell指令碼有兩種方法 1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.s...

shell指令碼基礎

shell定義 shell是命令解析器,將使用者的輸入的指令轉化為機器可以執行的程式。和c語言不同,指令碼有自己的語法。比較常用的格式是 bin bash或者 bin sh 如 這是乙個判斷輸入字元型別的程式 bin bash read key case in a z echo upperlette...