1

サーバーのログイン時に、sudo bash、ssh server01、ls、cd /tmp などの複数のコマンドを自動的に実行したい.パテの SSH でリモート コマンド オプションを使用しています。

区切り記号 && を使用して複数のコマンドを試しましたが、機能しませんでした。

ここに画像の説明を入力

4

4 に答える 4

1

あなたの質問には欠けている情報があります。

あなたが実行したいと言ったらsudo bashssh 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"
于 2015-06-16T09:31:36.567 に答える
0

以前の回答で提案したことを試しました。

putty では、セミコロンで区切られた 2 つの単純なコマンドを実行できます。私の例のように、ls と echo を試しました。リモート サーバーがそれらを実行し、セッションが終了します。

また、パスワードを要求しないように構成されたリモート サーバーに ssh しようとしました。その場合も機能し、2 番目のサーバーに接続してコマンドを実行できます。終了すると、2 つの接続が閉じられます。

ですから、あなたが実際に必要としている/欲しいものを私たちに知らせてください。

于 2015-06-16T09:39:56.823 に答える
0

これはおそらく、コマンドがプログラム名とそれに続くパラメーターであると想定されているためであり、パラメーターはプログラムに直接渡されます。&&などのコマンド ライン インタープリタによって提供されるその他の機能を取得するには、次のbash手順を試してください。

/bin/bash -c "command1 && command2"
于 2015-06-16T03:07:56.940 に答える