我遇到了 IFS 环境变量的问题。
我正在尝试像这样创建一个数组:
IFS=$'\n'
FILENAMES=( "$(ls -AFl | sed "1 d" | grep "[^/]$" | awk '{ print $9 }')" )
我知道当我运行这条线时
$ ls -AFl | sed "1 d" | grep "[^/]$" | awk '{ print $9 }'
我的输出以每个输出位于单独行的格式放置,那么为什么我的数组包含所有输出作为第一个索引,而不是将每一行放在单独的索引中,我得到的输出是:
$ echo ${FILENAMES[0]}
file1.txt file2.txt
我想要的输出是
$ echo ${FILENAMES[0]}
file1.txt
$ echo ${FILENAMES[1]}
file2.txt
我已经尝试过像这样设置 IFS:
IFS="
"
然而这并没有什么不同,输出还是和我原来一样,我做错了什么?