我是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我尝试了一些例子谷谷说使用$()在代码周围,但它不工作,任何人可以帮助我这一点。
发布于 2015-02-11 21:01:28
我知道你想在“diff”中使用两个远程文件的输出。您的解决方案中存在许多错误:
我要做的(完成我认为你想要做的事情)是把它变成三个独立的命令:
ssh user@remote_host 'cat remote_file.txt' > file1
ssh user2@remote_host2 'cat remote_file.txt' > file2
diff file1 file2发布于 2015-02-13 21:32:05
我只是做了这个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,那么它一定可以很好地工作
https://stackoverflow.com/questions/28454628
复制相似问题