bash shell编程--函数调用--帮忙(add 20ps)

#!/bin/bashrename(){ARGS=2E_BADARGS=85ONE=1#Forgettingsingular/pluralright(seebelow).... #! /bin/bash
rename()
{
ARGS=2
E_BADARGS=85
ONE=1 # For getting singular/plural right (see below).

if [ $# -ne "$ARGS" ]
then
echo "Usage: `basename $0` old-pattern new-pattern"
# As in "rn gif jpg", which renames all gif files in working directory to jpg.
exit $E_BADARGS
fi

number=0 # Keeps track of how many files actually renamed.

for filename in *$1* #Traverse all matching files in directory.
do
if [ -f "$filename" ] # If finds match...
then
fname=`basename $filename` # Strip off path.
n=`echo $fname | sed -e "s/$1/$2/"` # Substitute new for old in filename.
mv $fname $n # Rename.
let "number += 1"
fi
done

if [ "$number" -eq "$ONE" ] # For correct grammar.
then
echo "$number file renamed."
else
echo "$number files renamed."
fi

exit 0
}
while true
read ch
do
case $ch in
rename) rename;;
esac
done
请问运行时怎么才能使rename()发挥作用?
./rename file1.txt file2.txt
没有效果,改变不了文件名呢?(rename后加了$f1 $f2也做不到),请执教!
展开
 我来答
常乐常知足
2009-06-03 · TA获得超过1152个赞
知道小有建树答主
回答量:702
采纳率:66%
帮助的人:197万
展开全部
输入rename即可起作用,不过调用rename时应该带上参数,因为函数中$1和函数外的$1不是一回事。
rename $1 $2;;
苏州蓝晓生物科技有限公司_
2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经... 点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式