4

インタラクティブなシェル コンソールがあり、そこに入り、コンソール内で特定のコマンド セットを実行し、終了することができます。

ここで、対話型のシェル コンソールに接続し、コマンドをサイレント モードで実行し、対話なしで最後に終了する bash スクリプトを作成したいと考えています。つまり、非対話的な方法ですべてを自動化したいということです。どうすればこれを達成できますか?

たとえば、ここではblablaシェルがインタラクティブコンソールであり、常にインタラクティブモードになります:(

/usr/bin/blabla shell << EOF 
do A,
do B,
do C
quit
EOF

私はこの質問の長い/特定のバージョンをここで見つけることができます-> シェル/bashスクリプトでflumeを設定します-インタラクティブなflumeシェルコンソールを避けてください

4

4 に答える 4

3

閉じるstdinとうまくいくはずです:

exec <&-
于 2012-06-01T13:43:10.077 に答える
1

expect友達ならコマンド。非常に洗練された方法でも、他のコマンドとの対話型通信をエミュレートできます。

から期待する:

Expectは、スクリプトに従って他の対話型プログラムと「対話」するプログラムです。

于 2012-06-02T15:43:29.643 に答える
0

対話型プロンプトに入力するコマンドをファイルに入れてみて、次のようなコマンドを実行できます。

command < file
于 2012-06-02T14:57:58.027 に答える
0

おそらくSecure SHellは、ssh必要なことを行います。「リモート」マシンが SSH サーバーとして構成されている必要があります。次のような他のホストでコマンドを実行するために定期的に使用します

 ssh user@host command
于 2012-06-02T16:56:33.307 に答える