我正在尝试将LS的输出存储在数组中



使用Linux命令" LS"时,我将所有文件列在目录中。我试图将命令LS的结果存储在bash中的数组中,然后我希望能够打印出数组的每个元素。

这就是我尝试的。

> file_array=( $<ls>) )

> file_array= 'ls'

我在第一个错误中遇到了一个错误,而我的数组只需打印出第二个。

解析ls的输出不是一个好主意。如果必须这样做,则正确的语法将是:

files=($(ls))

您可以使用地球:

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

在您的第二个语句中,您在=之后有一个空间,这不是作业的正确语法。

最新更新