読み取り:無効なオプション-u

読み取り:無効なオプション-u

次のように、読み取りを使用してファイル記述子から読み取ろうとします。

read -u fd

良いこのリンクから

これは私のbashスクリプトで使用されるコードです。

MESSAGE=$(read -u $NODE_CHANNEL_FD)
echo " parent message => $MESSAGE"  >&2

正確なエラーメッセージ:

read: Illegal option -u

これが何であるかを知っている人はいますか?

答え1

このエラーメッセージは、実際に実行スクリプトを使用していないことを示しますbash

スクリプトを実行可能にし、#!スクリプトの最初の行に適切な -line を追加します。

#!/bin/bash

またはスクリプトを明示的に実行しますbash

$ bash script.sh

別の言語を実装すると見なされshbash作成中のスクリプトに適したインタプリタを使用する必要があります。この場合はreadwithオプションを使用してください-u。これはもともと標準ksh仕様readの拡張bashでしたzsh。したがって、使用するか、bashスクリプトzshを実行する必要がありますksh

いつ使用するのかsh、いつ他のシェルを使用するのか、どうすればわかりますかbash?シンプルでsh動作方法や他のシェルに追加される他の機能を学ぶことができます。

関連情報