「続けるには任意のキーを押してください」というメッセージをどのように受け取ることができますか?

「続けるには任意のキーを押してください」というメッセージをどのように受け取ることができますか?

テーマをインストールするためのスクリプトを作成しています。インストールが完了すると、変更ログが表示され、「続行するには任意のキーを押します」というメッセージが表示されるため、ユーザーは変更ログを読んだ後に任意のキーを押して続行できます。

答え1

このコマンドを使用できますread。以下を使用する場合bash

read -p "Press enter to continue"

他のシェルでは、次のことができます。

printf "%s " "Press enter to continue"
read ans

上記の説明で説明したように、このコマンドを使用するには、実際にユーザーがキーを押す必要があります。enterどのキーでも動作するソリューションはbash次のとおりです。

read -n 1 -s -r -p "Press any key to continue"

記述子レンそして料金

-n読み取りを停止するのに必要な文字数を定義します。

-sユーザー入力を隠す

-r文字列は「raw」と解釈されます(バックスラッシュエスケープは考慮されません)。

答え2

read -rsn1 -p"Press any key to continue";echo

または変数が本当に必要な場合REPLY

read -rsn1 -p"Press any key to continue" variable;echo

variable不要な変数名に変更してください。

答え3

@casがコメントに書いたように、必ず使用してくださいless。変更ログが1ページより長い場合は、実際にページャが必要です。

PAGER通常、次を呼び出すのではなく、環境変数を参照しようとしますless

${PAGER:-less} changelog

$PAGER設定されている場合に使用され、そうでない場合に使用されますless

関連情報