rm:无法删除'-rf':没有这样的文件或目录
问题描述:
我有一个Bash脚本,可以自动创建一些SVN文件夹。在这样做的过程中,它会创建一个临时目录。当我尝试删除临时目录与室射频命令,我收到以下错误...rm:无法删除'-rf':没有这样的文件或目录
rm: cannot remove '–rf': No such file or directory
它似乎认为“-rf”是一个文件名。该命令在命令行上正常工作。
这里是我的脚本...
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Usage: $0 reponame1 reponame2 ..."
else
for var in "[email protected]"
do
REPONAME=$var
mkdir -p ~/temp-$REPONAME/branches
mkdir ~/temp-$REPONAME/tags
mkdir ~/temp-$REPONAME/trunk
svnadmin create $REPONAME
svn import ~/temp-$REPONAME svn+ssh://[email protected]/home/username/svnrepos/$REPONAME -m "Initial structure"
rm –rf ~/temp-$REPONAME/
done
fi
这里是输出
$ ./mkrepo.sh mysvnrepo
[email protected]'s password:
[email protected]'s password:
Adding /home/username/temp-mysvnrepo/branches
Adding /home/username/temp-mysvnrepo/tags
Adding /home/username/temp-mysvnrepo/trunk
Committing transaction...
Committed revision 1.
rm: cannot remove '–rf': No such file or directory
rm: cannot remove '/home/username/temp-mysvnrepo/': Is a directory
答
您管理输入一个Unicode “EN DASH”(U + 2013),这是不认可rm
作为一个正常的连字符“ - ”(U + 002D)所以rm
认为它是一个文件名的开始,而不是你的参数。它们看起来很像,但对于一个程序来说它们并不相同。要修复它,只需擦除并再次输入,确保您使用正常的连字符/减号键。
答
rm –rf
中脚本中的' - '不是它所期望的。 正确的是rm -rf
。
我希望你能发现差异。
rm –rf rm -rf
我替换了破折号字符,解决了问题。我不知道如何插入其他短跑,因为我的键盘只有一个短划线键。谢谢您的帮助。 –