Ubuntu 12.04 LTSサーバー64
私の無人モードbootstrap.sh
スクリプトには次のものがあります。
apt-get upgrade -y
実行中にGRUBインストールの生のUIが表示され、キーシーケンスを入力する必要があることがわかります。
up arrow
space bar
enter/return
このシーケンスを次のようにパイプすることは可能ですか?
echo key1 key2 key3 | apt-get upgrade -y
答え1
このツールを使用すると、xdotool
コマンドラインを介してアプリケーションにキーを送信できます。
$ xdotool key Up space Return
例 #1
echo
シェル履歴に表示されるように、次のコマンドを実行します。
$ echo hi
hi
これでxdotool
、2つの上向き矢印を使用して履歴に戻り、前のコマンドを「再実行」することができます。
$ xdotool key Up Up space Return
^[[A^[[A
$ echo hi
hi
$
例 #2
パイプを介してキー押下を送信するには、それを使用してxdotool type ...
アプリケーションのキー押下をシミュレートできます。たとえば、
$ xdotool type ":e ~/.bashrc" | vim