【发布时间】:2019-12-17 16:56:21
【问题描述】:
我正在尝试通过 SSH 连接到另一台机器并将其 IP 地址和主机名捕获到一个变量中。
但是,当我回显它时,该变量似乎是空的。
我已经尝试过其他帖子的答案,但它没有解决我的问题。我无法弄清楚问题所在。
#!/bin/bash
FILE=/home/admin/Vishal/output.txt
input=host.txt
while IFS= read -r line
do
echo "$line"
if [ $line = $HOSTNAME ]
then
ip=`hostname -i`
domain=`hostname -A`
host=`hostname`
sudo echo $ip $domain $line localhost >> $FILE
else
output=$(ssh -i -t admin@$line << "ENDSSH"
ip2=`hostname -i`
domain2=`hostname -A`
host2=`hostname`
ENDSSH
)
echo $output
fi
done <"$input"
输入文件包含主机名列表
变量 FILE 包含要存储结果的文件的路径。
output 变量是我想要存储结果的变量。
注意:该脚本适用于不需要 ssh 的 if 的第一部分。
【问题讨论】: