繁体   English   中英

在ssh中传递变量并获得答案

[英]Transfer variables in ssh an get answer back

我想在bash中编写脚本以连接到服务器,在另一台服务器上ping,从ping命令获取ip,然后将该信息发送回运行脚本的pc,最后连接到之前被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 $1.domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p' && exit "
echo "start"
echo $ip_d
echo "stop"
ssh -t $user@$ip_d

我希望的工作方式:我要检查test.nyslay.pl的域

  1. 连接到哪个IP和在脚本中定义了用户名的服务器
  2. ping服务器(“ .nyslay.pl”部分始终相同,但我想从脚本运行的第一个参数读取“测试” 在此处输入图片说明
  3. 从上一点获取域的IP
  4. 将IP从点2传输到运行脚本的本地计算机
  5. 连接到从点获取IP的服务器:2

使用命令替换:

ip_d=$(ssh -t $user@$ip_p "ping -c1 $1.domain | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p'")

ping的输出(通过sed )通过ssh到达本地计算机,其输出捕获在本地变量ip_d

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM