1:可以把命令的输出结果当作一个字符串,必要时可以直接用在循环体中。
2:tr 'a-z' 'A-Z'` <<< $temp 可以把字符串的内容输给tr,也可以用管道temp=`echo $filename | tr 'A-Z' 'a-z'` 。
3:用find命令可以输出一个目录的所有文件和子目录及其文件
下面是将一个目录的所有文件和子目录及子目录的文件和子目录(递归)的名字都该为小写。
- #!/bin/sh
-
-
change()
-
{
-
for filename in `ls`
-
do
-
temp=`echo $filename | tr 'A-Z' 'a-z'`
-
if [ $filename != $temp ];then
-
mv $filename $temp
-
fi
-
-
if [ -d $temp ];then
-
cd $temp
-
change $temp
-
cd ..
-
fi
-
-
-
done
-
return 0
-
}
-
-
temp=$1
-
if [ ! -d $temp ];then
-
echo "$temp is not a useful directory!"
-
exit 1
-
fi
-
cd $temp
-
change $temp
-
-
find *
-
-
exit 0
阅读(1494) | 评论(0) | 转发(0) |