私はそこでは異なるホストからlsコマンドを実行しているシェルスクリプトを持っていますが、これを達成するのに問題があります。シェルスクリプトのSSH
#!/bin/sh
nodes="hostname1 hostname2"
cmd="ls -ltrha"
for node in ${nodes}; do
ssh ${node} '`$cmd`'
done
このコードの問題は、それが完全にhostname1 sshをすることができますが、それもlsコマンド、あるいはSSH hostname2には実行されないということである。ここでは以下の私のcoldeです。
私がここで間違っているのは何ですか?
****新規編集**** また、私は1つのライナーの下にしようとしたが、それが唯一のssh
ssh hostname1 'ls -ltrha'
参照:[bashの一重引用符と二重引用符の違い](0120-385-505) – Cyrus
あなたのご意見ありがとうございますCyrusしかし私は問題が単なる引用符ではないと思います。私はちょうど1つのライナーを走らせようとしましたが、代わりにsshの推奨を実行せずに$ cmdを実行しました。私の投稿を見てください –
あなたのQを更新して、リモートホストからの 'password'プロンプトの扱い方を示してください。がんばろう。 – shellter