shell中的語句

2021-09-24 05:45:31 字數 3168 閱讀 8128

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 組合測試條件 二 整數比較 命令間的邏輯關係 第乙個條件為假 第二個條件不用在判斷,最...