我必须编写一个基本脚本,它以以下形式输入:
./ chext'param1''param2.xx'
和输出:
param2.param1
具体来说,我必须检查文件是否存在,如果存在,则使用新扩展名重命名,如果不存在,则生成消息:
param2.xx:没有这样的文件
具体来说,我被告知:“不应发出其他消息,包括脚本调用的命令中的错误消息。”
这适用于以下示例:
./ chext'com''aardvark.dat'
和
./ chext'ret''too common.exp'
但是:
./ chext'dat''ocelot.dat'
我收到错误(由我的教授创建)“生成意外消息”
有人能告诉我这个例子有什么不同,我的剧本没有照顾?
#!/bin/csh
set ext="$1"
set oldName="$2"
if (-r "$oldName") then
set newName=`echo "$oldName" | sed 's/\.[A-Za-z0-9]*$/'".$ext"'/g'`
mv "$oldName" "$newName"
else
echo "$oldName": No such file
endif
由于
答案 0 :(得分:0)
您无法将文件重命名为已有的名称。