0

我的问题是:

在我的 bash 脚本中,命令。

ls -d */ | sed 's#/##'

向我显示当前路径中的所有文件夹,例如:

dir1
new folder2
folder3
new directory 4

现在我需要将它们存储在一个数组中,但问题是“新文件夹 2”将覆盖 2 个数组字段,我需要将每一行存储在一个字段中。以便:

var[0] = "dir1"
var[1] = "new folder2"
var[2] = "folder3"
var[3] = "new directory 4"

如何做到这一点?

4

1 回答 1

2

您需要一个包含当前目录的每个文件夹的数组。真的很简单:

shopt -s nullglob
var=(*/)

如果您随后决定需要从数组成员中删除尾部斜杠,最好在迭代它们或将它们输出给用户时这样做。只要您使用 glob(就是这样*/),您将非常安全,无需操作字符串。

好读:

于 2013-11-10T11:57:53.527 回答