关注shell2
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
浙公网安备 33010602011771号