this
folder
这是我目前的代码:
#!/bin/bash
echo -n "Enter a directory to load files: "
read d
if [ $d="" ]; #if input is blank, assume d = current directory
then d=${PWD##*/}
for i in $(ls -d */);
do echo ${i%%/};
done
else #otherwise, print sub-directories of given directory
for i in $(ls -d */);
do echo ${i%%/};
done
fi
在您的回答中请解释您的答案,因为我对bash非常陌生。
谢谢您的查阅,感谢您的时间。
编辑: 感谢John1024的回答,我想到了以下内容:
#!/bin/bash
echo -n "Enter a directory to load files: "
IFS= read d
ls -1 -d "${d:-.}"/*/
它能满足我所有的需求,非常感激!
IFS=
,因为我之前不小心漏掉了它们。它们使得脚本即使用户提供的目录名称中有空格或制表符也能正常工作。 - John1024