
後でさらに処理するために、ファイルの内容を配列として読み取ろうとします。read
配列値を埋めるコマンドを使用しています。以下は、エラーを引き起こすコードの一部です。
read -r -a changefileArr < changedfile.txt
以下は私が受け取ったエラーです。
read: bad option: -a
使っていますこれちなみにホームページ。私はMAC OS Montereyを使用しています(デフォルトのシェルはzshです)。インデックスベースの反復を実行する必要があるため、配列を使用する必要があります。後でコードからインデックスが必要です。より良い方法がある場合(read
コマンドを使用しなくても)コメントを残してください。
編集1:
- 私はこれらのコマンドをテストするためにLinux端末を使用しています。私はどんなシェバンも与えませんでした。
read -a
zshで動作しない場合。 zshに対して得ることができる同じコマンドはありますか?
答え1
使用中なので、組み込みコマンド(例:動作する必要があります)を期待しzsh
てはいけません。bash
read
入力すると、チュートリアルを続行できるインタラクティブbash
シェルに入ります。bash
気づく地図時間配列変数の誤った処理これらの変数(実際にはすべての変数)は、使用時に二重引用符で囲む必要がありますが、そうしません。
read -r -a changefileArr < changedfile.txt # Read line of items into array
printf "element: %s\n" "${changefileArr[@]}" # An example
echo "${changefileArr[@]}" # Unpredictable if first value starts with a dash
echo ${changefileArr[@]} # WRONG !
bash
注:zsh
デフォルトの対話型シェルを使用している場合でも、シェルスクリプトを作成して使用できます。