今天看见群里有人问,如何列举出一个目录下的所有文件名。因为对shell也不太熟悉,但觉得比较简单,就动手试着写了下,其中用到了递归... 以下只是抛砖引玉。

1.列举出本目录下的所有文件

#!/bin/bash
for i in `ls`;do
echo $i
done
 

2.列举出本目录下的所有文件(包含子目录)。

#!/bin/bash
function lsdir()
{
for i in `ls`;do
  if [ -d "$i" ] ;then
     cd ./$i
     lsdir
   else
     echo $i
   fi
done
}
lsdir