关注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

你可能感兴趣的:(shell)