以下 ping 脚本在脚本形式和交互式 shell 中运行良好
ping-only.sh
date
for i in 10.1.1.1 10.1.1.3 10.4.1.13
do echo -e "\nIP: $i"
ping -c 1 $i | grep from
done
但是,当我运行 SSH shell 脚本时,它只是停留在第一台主机上
ssh-get-banner-only.sh
date
for i in 10.1.1.1 10.1.1.3 10.4.1.13
do echo -e "\nIP: $i"
timeout 1 ssh $i
done
样本输出
user@APIC> ./ssh-get-banner-only.sh
Mon May 6 04:43:24 UTC 2019
IP: 10.1.1.1
###############################################################
# Authorized access only! #
###############################################################
当我将相同的代码手动粘贴到 shell 时,它工作得很好
user@APIC> date
Mon May 6 04:36:33 UTC 2019
user@APIC> for i in 10.1.1.1 10.1.1.3 10.4.1.13
> do echo -e "\nIP: $i"
> timeout 1 ssh $i
> done
IP: 10.1.1.1
###############################################################
# Authorized access only! #
###############################################################
Password:
IP: 10.1.1.3
###############################################################
# Authorized access only! #
###############################################################
Password:
IP: 10.4.1.13
###############################################################
# Authorized access only! #
###############################################################
Password:
user@APIC>