在 ssh 中传输变量并得到回复
Transfer variables in ssh an get answer back
我想在 bash 中编写脚本以连接到服务器,在另一台服务器上执行 ping 命令,从 ping 命令获取 ip,并将该信息发送回 运行 脚本的电脑,以及最后连接到之前被 ping 过的服务器。
我的脚本:
#!/bin/bash
echo "Script to connect to server"
#ip_p used to connect to first server, on that server i want to use ping command'
ip_p=XYz.XYZ.XYZ.XYZ
user='username to the servers'
#ip_d - in that variable i want to save ip of the pinged server
ssh -t $user@$ip_p ip_d="ip_d=ping -c1 .domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*//p' && exit "
echo "start"
echo $ip_d
echo "stop"
ssh -t $user@$ip_d
我希望如何工作:
我要检查的域名 test.nyslay.pl
- 连接到脚本中定义的 ip 和用户名的服务器
- ping 服务器(部分“.nyslay.pl”,始终相同,但 "test" 我想从脚本的第一个参数读取 运行
- 从上一点获取域的 ip
- t运行sfer ip from point: 2 to local machine, on which script is 运行
- 连接到我们从点获得的 ip 的服务器:2
使用命令替换:
ip_d=$(ssh -t $user@$ip_p "ping -c1 .domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*//p'")
ping
(通过sed
)的输出通过ssh
到达本地机器,其输出被捕获在局部变量ip_d
.[=15中=]
我想在 bash 中编写脚本以连接到服务器,在另一台服务器上执行 ping 命令,从 ping 命令获取 ip,并将该信息发送回 运行 脚本的电脑,以及最后连接到之前被 ping 过的服务器。
我的脚本:
#!/bin/bash
echo "Script to connect to server"
#ip_p used to connect to first server, on that server i want to use ping command'
ip_p=XYz.XYZ.XYZ.XYZ
user='username to the servers'
#ip_d - in that variable i want to save ip of the pinged server
ssh -t $user@$ip_p ip_d="ip_d=ping -c1 .domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*//p' && exit "
echo "start"
echo $ip_d
echo "stop"
ssh -t $user@$ip_d
我希望如何工作: 我要检查的域名 test.nyslay.pl
- 连接到脚本中定义的 ip 和用户名的服务器
- ping 服务器(部分“.nyslay.pl”,始终相同,但 "test" 我想从脚本的第一个参数读取 运行
- 从上一点获取域的 ip
- t运行sfer ip from point: 2 to local machine, on which script is 运行
- 连接到我们从点获得的 ip 的服务器:2
使用命令替换:
ip_d=$(ssh -t $user@$ip_p "ping -c1 .domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*//p'")
ping
(通过sed
)的输出通过ssh
到达本地机器,其输出被捕获在局部变量ip_d
.[=15中=]