他のプロセスが終了するまで、端末で実行されている他のプロセスに複数のEnterキーを提供できるLinuxコマンドはありますか?
たとえば、コマンドを検討してくださいyes ' ' | ./ssr-sim prepare
。|
パイプ()のLHS側にコマンドが必要です。たとえば、他のコマンドはyes ' '
左ではなく右に|
複数のEnterキーを提供します。./ssr-sim prepare
シェルスクリプトでキーストロークを自動化したい場合、コマンドはパスワードを./ssr-sim prepare
複数回要求する出力を生成し、ユーザーはEnter手動でキーを押す必要があります(ここではパスワードを入力する必要はなく、押すたびに要求する必要がありEnterます)。 )。 Enterキー部分を自動的に押す必要があります。
このコマンドはyes ' ' | ./ssr-sim prepare
効果がありません。
答え1
echo
インタラクティブプログラムへの ing または ing 入力がプログラムを欺くのに十分でない場合、これは通常、入力がyes
実際に端末かパイプであるかを正確に確認しようとするためです。これには、人々が一般的に使用するより大きなハンマーが必要です。予想される、この問題を回避するために書かれています。
答え2
printf \\n%.0b `seq 1 ${NUMBER OF TIMES YOU WANT}` | $CMD
もしあなたの$CMD
このパイプが気に入らない場合は、次のことを試してみてください。
printf 'PRESS CTRL+V then ENTER TWICE\n' >&2 ; read -r ENTER
$CMD <<YESALREADY
$(printf "$ENTER\n%.0b" `seq 1 ${NUMBER OF TIMES YOU WANT}`)
YESALREADY
それでも問題が解決しない場合は、同様の解決策を見つける必要があります。expect
すでに言及したかpty
。例えば、zsh
組み込みzpty
基準寸法。