エラーsh:1:読み取り:引数の数

エラーsh:1:読み取り:引数の数

ユーザーが確認メッセージを押すまで待ち​​たいですReturn。 Bashでは電話できます。

$ read

$ 

しかし、sh(私の場合はダッシュ)では次のようになります。

$ read
sh: 1: read: arg count
$ 

私が見るには〜しなければならない引数を提供しますか?この違いはどこから来るのか?

答え1

これ標準readユーティリティ必要最後のもの変数の名前です。

一部のシェルread実装では、以下を使用します。基本たとえば、変数はREPLY名前を指定せずに読み取ったデータを保存しますが、dashPOSIX互換のシェルはそうではありません(標準ではこれを必要としないため)。シェルでこれに対応するものは次のとおりですdash

read REPLY

shell bashPOSIXモードでもするPOSIX以外の一部の機能を有効にします。これはread、シェルを実行しても変数名なしで機能することを意味するものの1つですbash --posix

POSIXモードが有効になっているときに発生するイベントの完全なリストbash(この質問は実際には関係ありません)については、以下を参照してください。https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html

関連情報