我希望将ls命令的每个输出存储在变量数组中。我已经在任意目录下尝试过了:var=$(ls);echo $var
,它将目录下的整个文件名存储到变量中。
我还尝试了其他方法,但它将每个单词存储为数组中的变量元素。
有没有什么方法可以将每个文件的名称存储在一个数组的不同索引的目录中?
发布于 2015-06-23 01:25:38
是的,don't use ls
。
使用glob。
var=(*)
printf '[%q]\n' "${var[@]}"
%q
是一个狂欢主义(据我所知)。除了使用一些奇怪的文件名之外,%s
在那里也能正常工作。
来自《Bash参考手册》:
%q
Causes printf to output the corresponding argument in a format that can be reused as shell input.
https://stackoverflow.com/questions/30986111
复制相似问题