for語句
別寫指令碼列印1-10
編寫指令碼檢視相同區域網內的1-10號ip是否工作並輸出可以工作的ip
while語句
格式while 條件
編寫指令碼,每過10s輸出一次系統佔用率
執行指令碼
if語句
if 條件
then
elif 條件
then
elif 條件
then
else(若不加else,則不符合條件的命令不執行)
fi
case語句expect語句
#!/usr/bin/expect
set ip [ lindex $ar** 0 ] 變數ip
set pass [ lindex $ar** 1 ] 變數密碼
spawn ssh root@$ip
expect 選擇yes確認進行連線
"password" 輸入密碼
}interact
expect answer.exp 172.25.254.241 redhat連線172.25.254.241主機
如何使得shell環境中呼叫expect(輸入重定向)
列印同乙個網段中主機1到主機10可以工作的主機名。
#!/bin/bash
auto()
"password"
}expect eof
eof}
for ip in
doping -w1 172.25.254.$ip &> /dev/null
if [ "$?" = "0" ]
then
auto 172.25.254.$ip | tail -n 1
fidone
輸出結果:
exit 直接退出指令碼
break 退出當前迴圈
continue 提前結束迴圈內部的命令,但不終止迴圈
原指令碼
#!/bin/bash
for i in
do if [ "$i" = "3" ]
then
echo lucky
fi echo $i
done
echo end
源**執行效果
exit 執行exit命令退出
exit執行結果
直接結束了程式,end也沒有列印
break
#!/bin/bash
for i in
do if [ "$i" = "3" ]
then echo lucky
break break退出迴圈
fi echo $i
done
echo end
退出了for迴圈,但依舊會列印end
continue
#!/bin/bash
for i in
do if [ "$i" = "3" ]
then
echo lucky
continue continue斷開當前命令
fi echo $i
done
echo end
執行效果
不會列印3的輸出
shell 中的if語句
1 2 3 4 if a a 空格用 標示 then echo a a fi 最近幾天寫指令碼,遇到if語句時總是吃不準。這次總結一下。使用if語句有2中方式,一種是使用test命令另一種是使用 其中後者比較常用。方法一,使用test命令,這個命令返回乙個boolean值。1 test e data...
shell中的if語句
語法格式 if command then commands fi其中的command包含如下 shell command 任何shell命令,如果shell命令返回0,代表true,否則,代表false。並且多個command可以同時作為if的判斷條件,即可以寫為 if command1 comma...
shell 中的if語句
bash中如何實現條件判斷?條件測試型別 整數測試 字元測試 檔案測試 一 條件測試的表示式 expression 括號兩端必須要有空格 expression 括號兩端必須要有空格 test expression 組合測試條件 二 整數比較 命令間的邏輯關係 第乙個條件為假 第二個條件不用在判斷,最...