[英]running ssh command from a shell script
我是shell脚本的新手,我试图从shell脚本运行以下命令。
diff <(ssh user@remote_host 'cat remote_file.txt') <(ssh user2@remote_host2 'cat remote_file2.txt')
但出现错误:
./a.sh: syntax error at line 1: `(' unexpected
我尝试了一些谷歌搜索示例,其中说在代码周围使用$(),但是没有用,请任何人帮助我。
我了解您要在'diff'中使用两个远程文件的输出。 解决方案中有很多错误:
我要做的(要完成我认为您想做的事情)是将其变成三个单独的命令:
ssh user@remote_host 'cat remote_file.txt' > file1
ssh user2@remote_host2 'cat remote_file.txt' > file2
diff file1 file2
我只是使这个bash脚本没有问题
#!/bin/bash
diff <(ssh user@remote_host cat remote_file.txt) <(ssh user2@remote_host2 cat remote_file2.txt)
exit 0
在以下条件下工作:
-remote_host和remote_host2保留在~/.ssh/known_hosts
列表中
-user和user2存在并且具有权限
-remote_host和remote_host2可操作并在ssh服务器上
-user @ remote_host和user2 @ remote_host2已将ssh配置为无需密码即可工作
如果您不知道该怎么做,请参见http://www.linuxproblem.org/art_9.html
也许您的错误停留在'
但如果您不使用'remote_file.txt'
而仅使用remote_file.txt
则它必须能够正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.