読み取りを使用するBashスクリプトは、Ctrl + Dで実行を停止する必要があります。

読み取りを使用するBashスクリプトは、Ctrl + Dで実行を停止する必要があります。

Enterクリックすると、テキストファイルに1行を追加するスクリプトを作成する必要があります。

ただし、Ctrl+を押すとDbashでループを終了する必要があります。

touch texttest.txt
LINE="0"
while true; do
    read LINE;
    if [ "$LINE" == "^D" ]; then
            break
    else
            echo "$LINE" >> texttest.txt
    fi
done

現在同様のことがありますが、代わりにCtrl+を押したときにwhileループを終了する方法はわかりません。DEnter

ベストアンサー1

あなたはとても考えています。必要なのはこれだけです:

cat > texttest.txt

特に言わないと、キャットはSTDINで読みます。 STDINから読み取るため、指定せずにCtrl制御文字+に反応します。 +はサブプロセスを完了できる唯一のものなので、Dループでラップする必要さえありません。CtrlDcat

おすすめ記事