如何在bash中导出'ls'命令来分隔变量
How to export 'ls' command in bash to separate variables
例如:
List="$(ls ~/Downloads)"
echo $List
输出将是:
ExampleDirectory Example_Directory ExampleFile
我如何获得(ls
之后):
echo $File1
echo $File2
echo $File3
得到
ExampleDirectory
Example_Directory
ExampleFile
喜欢单独的 ls 输出,不仅像 $List
中那样生成文本行,还生成变量 $File1
、$File2
和 $File3
。
好像有点复杂。
如果要将 ~/Downloads
中的每个文件(或目录名称)分配给不同的 bash
变量,则必须为这些变量找到不同的名称。使用 bash
索引数组会更简单:
$ declare -a List=(~/Downloads/*)
然后,将它们全部打印出来:
$ printf '%s\n' "${List[@]}"
只打印第一个和第三个:
$ printf '%s\n' "${List[0]}" "${List[2]}"
要打印 List
数组中的条目数:
$ printf '%d\n' "${#List[@]}"
例如:
List="$(ls ~/Downloads)"
echo $List
输出将是:
ExampleDirectory Example_Directory ExampleFile
我如何获得(ls
之后):
echo $File1
echo $File2
echo $File3
得到
ExampleDirectory
Example_Directory
ExampleFile
喜欢单独的 ls 输出,不仅像 $List
中那样生成文本行,还生成变量 $File1
、$File2
和 $File3
。
好像有点复杂。
如果要将 ~/Downloads
中的每个文件(或目录名称)分配给不同的 bash
变量,则必须为这些变量找到不同的名称。使用 bash
索引数组会更简单:
$ declare -a List=(~/Downloads/*)
然后,将它们全部打印出来:
$ printf '%s\n' "${List[@]}"
只打印第一个和第三个:
$ printf '%s\n' "${List[0]}" "${List[2]}"
要打印 List
数组中的条目数:
$ printf '%d\n' "${#List[@]}"