关于这个问题有一个类似的问题。但不是相同的解决方案。
我将创建一个带有两个参数的 shell 脚本: 1. 所需的文件扩展名 2. 要使用该扩展名重命名的单个文件的名称
该脚本应使用所需的文件扩展名重命名文件。如果文件不存在,它应该打印出“fileName: No such file”。它正在产生此消息,但教授的测试表明它正在产生意外消息(额外消息),但事实并非如此。我的shell脚本是:
#!/bin/sh
fileExtension="$1"
shift
oldName="${@}"
extension=${oldName##*.}
if test -r "$oldName"
then
if "$fileExtension" == $oldName.*
then
echo "$oldName"
else
newName="${oldName%.*}.$fileExtension"
mv "$oldName" "$newName"
fi
else
echo "$oldName": No such file
fi
每次我测试它时,它都会产生“文件名:没有这样的文件”,没有别的。
测试由
./chExt2.sh cpp aardvark.CPP
其中 aardvark.CPP 不在目录中。
任何帮助或指导将不胜感激。谢谢