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


使用請參考:shell腳本 if的使用和判斷條件

             

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循環,條件成立,則執行do和done之間的命令

 

 declare變量聲明

-i:將變量聲明為整型

 

 

 

 

寫一個腳本統計文件行數

 head用來顯示檔案的開頭至標准輸出當中,默認head命令打印其相應文件的開頭10行。

Linux輸出重定向>和>>的區別是什么?簡單說>是覆蓋,>>是追加

# head /etc/passwd > passwd

命令查看文件行數

# wc -l /etc/passwd

 

 統計行數腳本如下:

 

使用

 

 

 

while死循環

不停的開啟vsftpd這個服務

until循環,條件不成立,則執行do和done之間的語句。

until和while相反。

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM