我想做这样的事情,但它不会在管道结束后保存变量:
fs=( )
echo ${fs[@]}
ls -A1 |
while read f
do
echo ${fs[@]}
fs+=( "$f" )
echo ${fs[@]}
done
echo "All files/dirs: "${fs[@]}
Run Code Online (Sandbox Code Playgroud)
对于当前目录中的文件 1、2 和 3,我得到以下输出:
# Output:
1
1
1 2
1 2
1 2 3
All files/dirs:
Run Code Online (Sandbox Code Playgroud)
管道结束后,如何保持 fs 变量的值?
更新: