我正在使用 bash 外壳。我有这个代表文件路径的数组
MY_FILES=(/path/to/file1 /tmp/abc.txt /tmp/test.sh /path/to/file2 /path/to/file3 /tmp/abc.txt)
我怎样才能形成一个新的元素数组,其中的路径实际存在于我的文件系统中?
我正在使用 bash 外壳。我有这个代表文件路径的数组
MY_FILES=(/path/to/file1 /tmp/abc.txt /tmp/test.sh /path/to/file2 /path/to/file3 /tmp/abc.txt)
我怎样才能形成一个新的元素数组,其中的路径实际存在于我的文件系统中?
上面创建了一个新数组,它包含数组中与文件系统中现有名称相对应的
existing
条目。MY_FILES
它通过遍历数组中的条目,用测试依次测试每个元素来做到这一点-e
,如果给定的路径名存在则为真。如果当前路径名存在,则将其作为新元素追加到数组末尾existing
。如果你也想保证每个名字都是一个普通的文件,把
-e
test改成-f
test.