🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
` `在有时候,我们需要列出文件夹,以此进去访问,可以使用如下方法: ``` #!/bin/bash #列出当前路径下的所有文件夹 # 列出当前路径下的所有文件夹 ndir=`dirname $0` cd $ndir clear echo "当前运行脚本为$0" allDir=`ls -d */` #列出当前所有文件夹 i=0 for folder in $allDir do folder=${folder/\//} #去掉文件夹后的斜杠 echo "$i.$folder" i=$[i+1] done ``` ` `其他方法总结: ## 1.使用ls -d ```bash ls -d */ ``` ## 2.利用ls -F ```bash ls -F |grep "/$" ``` 说明:-F 选项会给输出的不同文件类型加上一个后缀,比如普通文件会在其后加一个 * 符号,管道文件会在其后加上一个 | 符号,而目录则在其后加上一个 / 符号,因此使用上面的方法也可以实现仅列出目录。 ## 3.利用ls -l ```bash ls -l |grep "^d" ``` **上面列出了目录的详细信息,如果只想列出目录名本身,那么可以:** ```bash ls -l |grep "^d" |awk '{print $8}' ```