使用Linux命令“ ls”时,我在目录中列出了所有文件。我试图将命令ls的结果存储在bash中的数组中,然后我希望能够打印出数组的每个元素。
这是我尝试过的。
> file_array=( $<ls>) )
和
> file_array= 'ls'
我遇到第一个错误,而我的数组仅在第二个打印出“ ls”。
答案 0 :(得分:2)
解析ls
的输出是not a good idea。如果必须这样做,则正确的语法应为:
files=($(ls))
您可以改用glob:
files=(*) # store file names in an array
declare -p files # show the contents of array
for file in "${files[@]}"; do
# do something with file
done
在第二个语句中,=
之后有一个空格,not the right syntax是用于分配的内容。