ローカライズされたCLIでコマンドを実行するためのBashスクリプト[閉じる]

ローカライズされたCLIでコマンドを実行するためのBashスクリプト[閉じる]

ローカルスイッチCLIにアクセスし、単純な「showconfigure」を実行するコマンドを実行しようとしています。スクリプトはログインしますが、何もしません。私はこれがサブターミナルにログインするとコマンドが解釈されないためだと思います。どんなアイデアがありますか?

$a1 = "show config"

exec cli

sleep 2

exec $a1
exec exit

答え1

その後、exec cliシェルスクリプトが次の行の実行に戻らず、シェルプロセスが新しいプロセスに置き換えられたsleep 2 ため、もう存在しません。execcli

私はあなたがその効果を本当に望まないでexecそれを取り除かなければならないと思います。

何をしたいのかわかりませんが、 でshow configコマンドを実行すると仮定し、cli入力にコマンドを作成してみてください。

printf "show config" | cli

似ているが非常に難しい場合は、次を参照してください。expect

関連情報