【发布时间】:2013-04-26 16:14:24
【问题描述】:
我正在尝试执行以下程序。
./chExt1.sh cpp test.CPP
这应该将 test.CPP 重命名为 test.cpp 但我什至不认为这个脚本正在执行。
我一直收到这个“command not found error”。
脚本如下:
#!/bin/sh
newExtension=$1;
oldFile=$2;
firstPart=`echo $oldFile | sed 's/\(.*\)\..*/\1/'`
newName="$firstPart.$newExtension";
#echo $oldFile
#echo $newName
mv "$oldFile" "$newName"
#echo "$oldFile"
#echo "$firstPart"
#echo "$newName"
【问题讨论】:
-
它在 Ubuntu 12.0 上对我有用。你的
echo呢,它们在未注释时是否显示正确的数据? -
它在 Fuduntu 2013.2 中工作。您是否安装了
sed?您使用的是什么 Linux 操作系统? -
你试过 sh chExt1.sh cpp test.CPP 吗?而不是 ./chExt1.sh...
-
我正在使用 Ubuntu 12.04.1 LTS 我没有尝试在未注释的情况下运行它们,但我会检查一下。
-
将 -x 添加到您的 #!将脚本执行输出到标准输出的行。
#!/bin/sh -x它确实有助于排除故障..你可以看到它执行时发生了什么。