Bash rm:无法删除'-rf':没有此类文件或目录
我有一个Bash脚本,可以自动创建一些SVN文件夹。在此过程中,它会创建一个临时目录。当我试图用rm-rf命令删除该临时目录时,我得到以下错误Bash rm:无法删除'-rf':没有此类文件或目录,bash,rm,Bash,Rm,我有一个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 va
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 "$@"
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://username@192.168.123.234/home/username/svnrepos/$REPONAME -m "Initial structure"
rm –rf ~/temp-$REPONAME/
done
fi
这是输出
$ ./mkrepo.sh mysvnrepo
username@192.168.123.234's password:
username@192.168.123.234'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 DASHU+2013,rm无法将其识别为普通连字符-U+002D,因此rm认为它是文件名的开头,而不是参数的开头。它们看起来确实很像,但对于一个程序来说,它们并不相同。要修复它,只需删除它并再次键入,确保使用正常的连字符/减号键。您成功键入了一个unicode EN DASHU+2013,rm无法将其识别为正常的连字符-U+002D,因此rm认为它是文件名的开头,而不是参数的开头。它们看起来确实很像,但对于一个程序来说,它们并不相同。要修复它,只需删除它并再次键入,确保使用正常的连字符/减号键。rm–rf中脚本中的“-”不是它所期望的。 正确的是rm-rf 我希望你能发现其中的差别 rm–rf rm-rf在rm-rf中脚本中的“-”不是它所期望的。 正确的是rm-rf 我希望你能发现其中的差别 rm–rf
rm-rf我替换了破折号字符,解决了问题。我不确定另一个破折号是如何插入的,因为我的键盘只有一个破折号键。谢谢你的帮助。我替换了破折号字符,解决了问题。我不确定另一个破折号是如何插入的,因为我的键盘只有一个破折号键。谢谢你的帮助。