サーバーのログイン時に、sudo bash、ssh server01、ls、cd /tmp などの複数のコマンドを自動的に実行したい.パテの SSH でリモート コマンド オプションを使用しています。
区切り記号 && を使用して複数のコマンドを試しましたが、機能しませんでした。
サーバーのログイン時に、sudo bash、ssh server01、ls、cd /tmp などの複数のコマンドを自動的に実行したい.パテの SSH でリモート コマンド オプションを使用しています。
区切り記号 && を使用して複数のコマンドを試しましたが、機能しませんでした。
あなたの質問には欠けている情報があります。
あなたが実行したいと言ったらsudo bash
、ssh server01
.
sudo はリモート サーバーでパスワードの入力を求めますか?
sudo にパスワードがないと仮定すると、bash を実行すると、ユーザーの入力を待つ別のシェルが開きます。コマンドssh server01
は、その bash シェルが終了するまで実行されません。
2 つのコマンドを実行する場合は、最初に次のような単純なものを試してください。
ls -l /tmp ; echo "hi there"
または、必要に応じて:
ls -l /tmp && echo "hi there"
これは機能しますか?
bash を実行した後に ssh を実行したい場合は、以下を試してください。
sudo bash -c "ssh server01"
以前の回答で提案したことを試しました。
putty では、セミコロンで区切られた 2 つの単純なコマンドを実行できます。私の例のように、ls と echo を試しました。リモート サーバーがそれらを実行し、セッションが終了します。
また、パスワードを要求しないように構成されたリモート サーバーに ssh しようとしました。その場合も機能し、2 番目のサーバーに接続してコマンドを実行できます。終了すると、2 つの接続が閉じられます。
ですから、あなたが実際に必要としている/欲しいものを私たちに知らせてください。
これはおそらく、コマンドがプログラム名とそれに続くパラメーターであると想定されているためであり、パラメーターはプログラムに直接渡されます。&&
などのコマンド ライン インタープリタによって提供されるその他の機能を取得するには、次のbash
手順を試してください。
/bin/bash -c "command1 && command2"