私は次のようなことをします。
これらのスクリプトはユーザーにパラメータを求めるメッセージを表示し、最終的にそのパラメータに基づいて特定のコマンドを実行します。 (最初にファイル名の入力を求め、引数の入力を求めるスクリプトを想像してくださいchmod
。)
問題は、スクリプトが特定のキーシーケンスで終了する必要があることです(たとえば、ユーザーが「Ctrl-」を入力せずに「halt」を入力した場合などC)。
ベストアンサー1
read
withを使用して、-n 1
文字ごとに読み書きした文字列を作成できます。その後、各キャラクターが登場したときに何をするかを決定できます。
val=""
while read -n 1 char; do
if [[ $char = "" ]]; then
printf 'Got an enter and the string is %s' "$val"
# do whatever else you want with it here
val="" # reset it to get the next param
else
val="$val$char" # append input
fi
if [[ $val = "halt" ]]; then
exit
fi
done