The Issue of the Day Before

在 shell 使用 for 迴圈

shell -
array=(a b c d e)
for chr in "${array[@]}"
do
echo "${chr}"
done

How

從檔案取得陣列

// 使用 readarray
readarray -t array < /path/to/filename  // (1)

// 將換行換成空白字元分隔
array=($(cat /path/to/filename | tr "\n" " "))  // (2)
// or
array=($(</path/to/filename))

// read 但使用 IFS 將分隔切換為換行
IFS=$'\n' read -d '' -r -a array < /path/to/filename // (3)
  1. -ttrim 去掉尾部分隔符號(一般就是換行符號)。

  2. 等同下面用 () 直接定義陣列,有風險。

  3. -a 轉成陣列

script 中定義陣列

array=(a b c d e)

印出陣列

for chr in "${array[@]}"
do
    echo "${chr}"
done
閱讀在雲端