您好,登錄后才能下訂單哦!
x=1
while ((x<=10)) ;do
if [ $x == "2" -o $x == "4" ];then
#條件x=2或者x=4執行下面語句
x=$[$x+1]
continue
#跳過本次循環
fi
echo "$x"
if [ $x == "8" ];then
break
#終止循環
fi
x=$[$x+1]
done
#最后輸出結果為135678
for i in `seq 10` ;do
echo "$i"
done
#輸出為1-10個數,for 循環不是靠判斷來循環的是靠列表循環的,seq 10 這個函數能列出1-10的數值,這些數值就是for循環的列表
for i in `ls` ;do
echo "$i"
done
#這個程序最后輸出為該文件夾的所有目錄及文件夾
sz=(00 11 22 33 44 55)
echo "${sz[*]}"
#輸出所有數值,"@"和"*"效果一樣
echo "${#sz[*]}"
#輸出數值個數
echo "${sz[1]}"
#顯示指標1的數值,注意默認指標從0開始計算
x=10
sz[$10]=233
echo "${sz[$10]}"
#變量的使用,顯示第10指標個數值
declare -A sz
#定義關聯數組,使用非數字格式的必須預先定義下
sz[yi]="111"
sz[er]="222"
echo "${sz[*]}"
echo "${sz[er]}"
顯示結果 111 222
222
hansu(){
#定義函數
echo "第$1次,函數顯示"
}
hansu 1
#調用函數并傳遞參數,函數內部用$1 $2使用變量,和shell用法一樣
hansu 2
hansu 3
最后顯示效果;
第1次,函數顯示
第2次,函數顯示
第3次,函數顯示
if [ "a" == "a" ];then
echo "條件滿足"
else
echo "條件不滿足"
fi
#正常使用,滿足條件執行第一個語句
if [ !"a" == "a" ];then
echo "條件滿足"
else
echo "條件不滿足"
fi
#加個"!"號,取反值,滿足條件,就變成了不滿足了
檢測輸入的字符類型小腳本
read input
case "$input" in
[a-z]|[A-Z])
echo "輸入的是字母"
;;
[1-9])
echo "輸入是數字"
;;
*)
echo "是其他字符"
;;
esac
if [ -e /root/123.txt ];then
echo "文件存在"
else
echo "文件不存在"
fi
-e 判斷對象是否存在
-d 判斷對象是否存在,并且為目錄
-f 判斷對象是否存在,并且為常規文件
-L 判斷對象是否存在,并且為符號鏈接
-h 判斷對象是否存在,并且為軟鏈接
-s 判斷對象是否存在,并且長度不為0
-r 判斷對象是否存在,并且可讀
-w 判斷對象是否存在,并且可寫
-x 判斷對象是否存在,并且可執行
-O 判斷對象是否存在,并且屬于當前用戶
-G 判斷對象是否存在,并且屬于當前用戶組
-nt 判斷file1是否比file2新? [?"/data/file1"?-nt?"/data/file2"?]
-ot 判斷file1是否比file2舊? [?"/data/file1"?-ot?"/data/file2"?]
=: 檢測兩個字符是否相等,相等返回真
!= 檢測兩個字符是否不等,不等返回真
-z 檢測字符串長度是否為0,為0返回真,全是空格返回真
$ 檢測字符是否為空,有值時時候返回真,全是空格返回假
x=10
y=5
if [ $x -gt $y ];then
#表達式還能這樣寫 if (( $x > $y ));then 效果也是一樣的,注意建議用上面那種,括號在字符計算不會報錯,寫程序時可能會出現BUG
echo "真"
else
echo "假"
fi
#結果返回真
-gt是左邊大于右邊,返回真 同 >
-lt是小于 同 <
-eq是等于 同 =
-ne是不等于 同!=
-ge是大于等于 同>=
-le是小于等于 同<=
## 變量計算
xhcs=$((dnszs-jc))
xhcs=`expr $dnszs - $jc`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。