在bash中打印文件夹名称

时间:2012-10-26 20:43:20

标签: linux bash

这个bash代码,当存在许多文件夹时,没有显示文件夹名称。

#!/bin/bash

for file in .; do
  if [  -d $file ]; then 
    echo $file
  fi
done

输出仅为. 你能解释一下原因吗?

1 个答案:

答案 0 :(得分:5)

它将.读取为大小为1的数组并为您打印。改用这样的东西:

for file in `ls`; do
  if [  -d $file ]; then 
    echo $file
  fi
done