我一会儿要更新一个数组。这是我的代码:
#!/bin/bash
LIST_OF_FILES=()
find . -name '*.[hc]' -print0 |
while IFS= read -r -d '' file
do
# do some stuff
# at the end
LIST_OF_FILES+=("$file")
done
echo "${LIST_OF_FILES[@]}"
但它不工作,我的whellcheck给我的错误:
LIST_OF_FILES的修改是本地的(由管道引起的子 shell )
如何更新我的数组LIST_OF_FILES
?
1条答案
按热度按时间eanckbw91#
使用进程替换而不是管道:
这样,赋值就保留在当前shell中。