我在 .txt 文件中有一个服务器列表。假设授权密钥已全部存储在服务器中。
#!/bin/bash
while read server <&3; do #read server names into loop
[[ $server =~ ^[[:space:]]*$ ]] && continue #prevents a empty line in file
echo "Name read from file - $server"
#SSH login
ssh "$server"
done 3</home/u0146121/Matt/servers.txt
我的问题是......
我是否正确使用 ssh?这一切都是非交互式的吗?
注意 - 我会尝试在服务器上进行此操作,但我还无法访问它们,并且我想事先确保语法正确。我是 bash 和 ssh 的初学者。
答案1
答案2
ssh“$服务器”
此行中的命令是交互式的。使用如下命令:
ssh $server“uname -a;日期”
它将登录到服务器,uname -a
然后在那里执行date
,断开与服务器的连接并继续执行脚本。