我是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
我尝试了一些googleing的示例,它说在代码周围使用$(),但它没有用,任何人都可以帮助我。
答案 0 :(得分:2)
我知道您想要使用&#39;差异中的两个远程文件的输出。您的解决方案有很多问题:
我会做什么(完成我认为你想做的事情)是把它变成三个单独的命令:
ssh user@remote_host 'cat remote_file.txt' > file1
ssh user2@remote_host2 'cat remote_file.txt' > file2
diff file1 file2
答案 1 :(得分:0)
我只是使这个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