Shell 邏輯控制

2022-09-16 11:18:22 字數 2474 閱讀 7846

邏輯控制

條件if

分支case、select

迴圈for、while、until

break和continue

有生之年也許你只需要用到if、for、while

if結構

if [ condition ];then...;fi

if [ condition ];then...;else...;fi

if [ condition ];then...;elif...;fi

簡單的邏輯可以使用&& ||去替代

[ -f file ] && echo file exist || echo file not exist      條件成立後執行&&後語句,不成立執行||後語句

條件可以用命令返回值代替

a=/g/yaya/tmp/1

.txt

if [ -f "$a"

];then

echo

file

exist;

else

echo

file

not exist;

fi[ -f "

$a" ] && echo

file exist || echo

file not exist

執行結果如下:

case結構

用於條件太多的情況。每乙個條件最後使用兩個分號結尾,不可缺少。

case $var in

p1)...;;

p2)...;;

...pn)...;;

*)...;;

esac

select

select var in var_list;do...;done;

選單選擇,一般與case結構一起用

crtl+d退出

for迴圈

for(( c1;c2;c3 ));

do...;

done

for(( i=0;i<10;i++ ));do echo $i;done

for(( i=0;i<10;i++ ));do

echo $i;done

執行結果如下:

for 遍歷迴圈

用於遞迴陣列,還可以遞迴以空格隔開的字串序列。或者是某個命令的返回值。

for f in $array[*];

do...

done

ss="aa bb cc dd";for x in $ss;do echo $x;done      預設空格進行拆解

while迴圈

while設定條件

一行行的讀取檔案內容

while可以替代until迴圈

退出控制

return函式返回

exit指令碼程序退出

break退出當前迴圈

continue跳過當前迴圈,進入下一次迴圈。

shell邏輯控制語句之case

case分支判斷結構 語法 case 變數名稱 in value1 statement statement value2 statement statement value3 statement statement statement statement esac 編寫指令碼,判斷使用者輸入的字串 ...

shell中的邏輯,流程控制語句

for 迴圈語句 用於定義迴圈執行的動作 for迴圈框架 for name 變數 in 變數name的值 dodone 注意 for迴圈定義的變數只能其作用於迴圈內部 幾種定義迴圈變數 計數器 的方式 for num in 1 2 3 定義num範圍1,2,3 for num in 定義num範圍從...

邏輯控制初學

一 順序結構 順序結構比較簡單.像我們之前寫過的 就是順序結構的,按照 書寫的順序一行一行執行.如果調整 的書寫順序,則執行順序也發生變化 system.out.println aaa system.out.println bbb system.out.println ccc 執行結果 aaabbb...