目錄for迴圈
while迴圈
until迴圈
case-多選擇語句
跳出迴圈
if condition
then
command1
command2
...commandn
fi#寫成一行,如下:
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
if condition
then
command1
command2
...commandn
else
command
fi
if condition1
then
command1
elif condition2
then
command2
else
commandn
fi
例子1:
a=10
b=20
if [ $a == $b ]
then
echo "a 等於 b"
elif [ $a -gt $b ]
then
echo "a 大於 b"
elif [ $a -lt $b ]
then
echo "a 小於 b"
else
echo "沒有符合的條件"
fi#結果
a 小於 b
例子2:
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo '兩個數字相等!'
else
echo '兩個數字不相等!'
fi#結果:
兩個數字相等!
for var in item1 item2 ... itemn
do command1
command2
...commandn
done
#寫成一行
for var in item1 item2 ... itemn; do command1; command2… done;
例子1:
for loop in 1 2 3 4 5
do echo "the value is: $loop"
done
#結果:
the value is: 1
the value is: 2
the value is: 3
the value is: 4
the value is: 5
例子2:
for str in 'this is a string'
do echo $str
done
#結果:
this is a string
while condition
do command
done
例子1
#!/bin/bash
int=1
while(( $int<=5 ))
do echo $int
let "int++"
done
#結果:12
345#注意: bash let 命令,它用於執行乙個或多個表示式,變數計算中不需要加上 $ 來表示變數
例子2,while迴圈能讀取鍵盤資訊
echo '按下 退出'
echo -n '輸入一段字串: '
while read film
do echo "你輸入的是:$film "
done
#結果按下 退出
輸入一段字串: 今天是星期二
你輸入的是:今天是星期二
例子3:無限迴圈
while :
do command
done
#或者while true
do command
done
#或者for (( ; ; ))
until 迴圈執行一系列命令直至條件為 true 時停止。
until 迴圈與 while 迴圈在處理方式上剛好相反
until condition
do command
done
例子1:
#!/bin/bash
a=0until [ ! $a -lt 10 ]
do echo $a
a=`expr $a + 1`
done
#結果:01
2345
6789
case 值 in
模式1)
command1
command2
...commandn
;;模式2)
command1
command2
...commandn
;;esac
取值後面必須為單詞in,每一模式必須以右括號結束。取值可以為變數或常數。匹配發現取值符合某一模式後,其間所有命令開始執行直至 ;;。
例子1:
echo '輸入 1 到 4 之間的數字:'
echo '你輸入的數字為:'
read anum
case $anum in
1) echo '你選擇了 1'
;;2) echo '你選擇了 2'
;;3) echo '你選擇了 3'
;;4) echo '你選擇了 4'
;;*) echo '你沒有輸入 1 到 4 之間的數字'
;;esac
#結果輸入 1 到 4 之間的數字:
你輸入的數字為:
3你選擇了 3
break命令允許跳出所有迴圈(終止執行後面的所有迴圈)。
例子1:
#!/bin/bash
while :
do echo -n "輸入 1 到 5 之間的數字:"
read anum
case $anum in
1|2|3|4|5) echo "你輸入的數字為 $anum!"
;;*) echo "你輸入的數字不是 1 到 5 之間的! 遊戲結束"
break
;;esac
done
#結果輸入 1 到 5 之間的數字:3
你輸入的數字為 3!
輸入 1 到 5 之間的數字:7
你輸入的數字不是 1 到 5 之間的! 遊戲結束
continue命令與break命令類似,只有一點差別,它不會跳出所有迴圈,僅僅跳出當前迴圈。
例子1:
#!/bin/bash
while :
do echo -n "輸入 1 到 5 之間的數字: "
read anum
case $anum in
1|2|3|4|5) echo "你輸入的數字為 $anum!"
;;*) echo "你輸入的數字不是 1 到 5 之間的!"
continue
echo "遊戲結束"
;;esac
done
#結果執行**發現,當輸入大於5的數字時,該例中的迴圈不會結束,語句 echo "遊戲結束" 永遠不會被執行。
Shell基本命令
1命令列補全和萬用字元 輸入檔案或目錄或命令的時候,當輸入一部分時候,按下 tab鍵,會自動補全資訊 使用 匹配任意多個字元,find cfg 會查詢到所有的。cfg結尾的檔案 2 pwd 顯示當前目錄 3 cd 切換目錄 cd.返回上級目錄 cd返回使用者主目錄 4 ls 列出目錄內容 ls a ...
shell基本命令1
基礎命令 1.顯示時間和日期的命令 date date 2014年 02月 23日 星期日 14 59 20 cst date y m d 2014 02 23 date h m 14 59 2.顯示日曆 cal cal 二月 2014 日 一 二 三 四 五 六 1 2345 678 910111...
常用Shell基本命令
常用shell命令 一 命令列和shell的關係 在很多不正式的場合,命令列和shell這倆個詞代表相同的意思,即命令直譯器。嚴格來講 命令列是指供使用者輸入命令的介面,其本身只接受輸入,然後把命令列傳遞給命令直譯器 shell是乙個程式,在使用者和作業系統之間提供了乙個面向行的可互動介面。使用者在...