Bash 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

我有一个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 "$@"
  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

我替换了破折号字符,解决了问题。我不确定另一个破折号是如何插入的,因为我的键盘只有一个破折号键。谢谢你的帮助。我替换了破折号字符,解决了问题。我不确定另一个破折号是如何插入的,因为我的键盘只有一个破折号键。谢谢你的帮助。