Ssh
sudo 後跟 ssh heredoc 中的另一個命令不起作用
這是我的腳本:
#!/bin/sh echo "I'm local" ssh -t -t remote.server << 'EOF' sudo echo "I'm remote and sudo" echo "I'm remote but not sudo" exit EOF
這根本行不通,可能是因為該行
echo "I'm not sudo"
是作為密碼提供的。我怎樣才能使它工作,沒有:
- 直接將密碼輸入腳本
- 啟用無密碼 sudo,或
- 做一切須藤?
或者,也許我的方法完全錯誤或不尋常?
在我看來,唯一的方法是拆分成兩個單獨的 ssh 命令:
#!/bin/sh echo "I'm local" ssh -t remote.server "sudo echo \"I'm remote and sudo\"" ssh -t remote.server "echo \"I'm remote but not sudo\""
您使用的重定向將始終將整個塊重定向到命令,並且不會等待任何子命令成功(或失敗)。