[英]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.