web-dev-qa-db-ja.com

バッシュ-「続行するには任意のキーを押してください」を作成する方法

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

214
superquanganh

readコマンドを使用できます。

read -p "Press enter to continue"

上記のコメントで述べたように、このコマンドは実際にユーザーが enter;任意のキーで機能するソリューションは次のとおりです。

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

Rayne および wchargin による説明

-nは、読み取りを停止するために必要な文字数を定義します

-sユーザーの入力を非表示にします

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

321
MKT

@casがコメントで書いたように、実際にはlessを使用する必要があります。変更ログが複数のページである場合は、とにかくポケットベルが本当に必要です。

通常は、単にPAGERを呼び出すのではなく、less環境変数を調べます。

${PAGER:-less} changelog

設定されている場合は$PAGERを使用し、設定されていない場合はlessを使用します。

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

または、実際にREPLY変数が必要な場合:

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

variableを不要な変数名に置き換えます。

13
EKons