ファイルから配列を取り込むことは基本的なものですが、動作させることはできません。ファイルの行をbash配列に代入する方法
#!/bin/bash
declare -a a
i=0
cat "file.txt" | while read line; do
a[$i]="$line"
i=$(($i + 1))
done
echo "${a[0]}"
これは、空の行を印刷します。ライン「foo」と「bar」を含むファイルの場合は、ここではbash -xからの出力です:
+ declare -a a
+ i=0
+ cat file.txt
+ read line
+ a[$i]=Foo
+ i=1
+ read line
+ a[$i]=Bar
+ i=2
+ read line
+ echo ''
私もreadarray組み込み作業を取得することはできません。
#!/bin/bash
declare -a b
cat "file.txt" | readarray b
echo "${b[0]}"
+ declare -a b
+ cat file.txt
+ readarray b
+ echo ''
は何午前私はここで間違っている?
読書のための第二次資料:http://mywiki.wooledge.org/BashPitfalls – kojiro
これは非常に便利であることが約束されています。ありがとうございました! – marshallm