1. 程式人生 > >shell腳本判斷語句和循環語句

shell腳本判斷語句和循環語句

一次循環 操作 inf 分享圖片 學習 兩層 read 一次 down

技術分享圖片

技術分享圖片

if判斷語句

技術分享圖片

exit跳出判讀語句

技術分享圖片

不加exit的結果

技術分享圖片

read

技術分享圖片

-n(不換行)

技術分享圖片

判斷是否輸入的是數字

read age
[[ $age =~ ^[0-9]+$ ]]
if [ $? -ne 0 ]; then
echo "你輸入的不是一個數字"
exit 1
fi

技術分享圖片

技術分享圖片

case判斷語句

技術分享圖片

#!/bin/bash
cat <<EOF
###########################################

歡迎學習shell編程

###########################################
EOF
echo
read -p "你是否同意繼續學習(y/n):" ans
case $ans in
(y|Y)
echo "非常好,進行下一步操作!"
;;
(n|N)
echo "你不同意,退出!"
exit 1
;;
(*)
echo "只能輸入y/n,不能輸入其他的"
exit 1;;
esac
echo ----------------------------------------
echo
echo ‘這個是腳本的正文‘

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

seq 用於生成從一個數到另一個數之間的所有整數。

技術分享圖片

-w 指定輸出數字同寬

技術分享圖片

`seq 1 10`----------------------為反引號

技術分享圖片

技術分享圖片

循環的控制語句

break:

如果遇到了break,break的語句不再執行了,而且要停止循環

技術分享圖片

技術分享圖片

輸出6,先打印在跳出

技術分享圖片

技術分享圖片

break跳出用法

技術分享圖片

技術分享圖片

跳出一層循環,break後面默認為1

技術分享圖片

技術分享圖片

跳出兩層循環

技術分享圖片

技術分享圖片

停止第三層循環

技術分享圖片

技術分享圖片

continue:

如果遇到了continue的話,continue後面的語句不再執行了

直接進入下一次循環

技術分享圖片

技術分享圖片

for循環實現簡單的用於查看局域網中那個IP使用,那個IP未使用

腳本內容如下:

#!/bin/bash
for i in $(seq 253)
do
if ping 192.168.0.$i -c 2;
then
echo "192.186.0.$i is use" >> /mnt/up.txt
else
echo "192.168.0.$i id not use" >> /mnt/down.txt
fi
done

技術分享圖片

while循環

declare變量聲明

-i:將變量聲明為整型

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

while死循環

不停的開啟vsftpd這個服務

技術分享圖片

until循環

until和while相反。

until 循環執行一系列命令直至條件為 true 時停止。

技術分享圖片

技術分享圖片

shell腳本判斷語句和循環語句