|

楼主 |
发表于 2007-7-2 10:31:07
|
显示全部楼层
Post by huan
试试这个
- #! /bin/bash
- # set -e
- rec() {
- local a=$1
- if [ ! -d "$a" ]; then
- echo "File: $(pwd)/$a"
- return
- else
- cd "$a";
- echo "Dir: `pwd`"
- local b
- for b in $( ls -1 ); do
- rec "$b";
- done
- cd ..
- fi
- }
- ## main ##
- if [ $1 ]; then
- rec $1
- else
- rec `pwd`
- fi
复制代码
请参考http://linuxsir.cn/bbs/showthread.php?t=295673
我试了这个了,确实不错但有一点不明白,local怎么用,google了但没查到
还有一点,Jockey的改成这样就和上面的一样吧
- sample() {
- for i in *; do
- if [ -d "$i" -a -x "$i" ]; then
- cd "$i" && sample
- cd ..
- else
- processing normal file "$i"
- fi
- done
- }
复制代码 |
|