【发布时间】:2018-05-01 14:57:33
【问题描述】:
我正在尝试获取一个包含每个字符串行作为元素的数组...
stringy=$(ls -l | awk '{print$3,$6,$7,$8,$9}'| grep "$USER")
declare -a myarray=()
IFS="\n" read myarray <<< "$stringy"
echo "${myarray[0]}"
echo "${myarray[1]}"
echo "${myarray[2]}"
for line in "${myarray[@]}"; do
echo "$line"
done
字符串看起来像这样:
brunor Nov 17 17:38 22735
brunor Nov 17 15:38 5391
brunor Nov 17 15:38 5405
brunor Nov 17 15:38 5444
(...)
即使是循环,代码也只输出第一个元素 (0):
>brunor Nov 17 17:38 22735
>
>
>brunor Nov 17 17:38 22735
【问题讨论】:
-
你确定这个“;”在“做”之前应该在那里?看起来像 ;确保循环只运行一次。