ユーザーがを押してメッセージを確認するのを待つだけです Return。バッシュでは、私は呼び出すことができます
$ read
$
ただし、sh(私の場合はダッシュ)では、
$ read
sh: 1: read: arg count
$
必須引数を提供するように思えますか?その違いはどこから来るのですか?
標準read
ユーティリティ は、少なくとも1つの変数名を取ります。
一部のシェルのread
実装では、REPLY
のようなdefault変数を使用して、変数が指定されていない場合に読み取りデータを格納しますが、dash
は、POSIX準拠のシェルになることを目指しています(標準でそうする必要はないため)。 dash
シェルの同等のものは次のようになります
read REPLY
bash
シェルは、POSIXモードであっても、doesによって一部の非POSIX機能が有効になっています。これはその1つです。つまり、bash --posix
シェルを実行しても、変数なしのread
は機能します。
bash
でPOSIXモードを有効にすると発生することの完全なリスト(これは実際には問題ではありません)については、 https://www.gnu.org/software/bash/を参照してください。 manual/html_node/Bash-POSIX-Mode.html