rm命令在shell中不工作

问题描述:

我在OS X 10.9上使用终端。rm命令在shell中不工作

我是shell脚本编程新手,但已经管理了一个(半)工作脚本。

创建一个名为test.sparsebundle的文件并运行一些其他命令后,我希望在不再需要文件后删除它。

我运行:

echo "...Removing $FILENAME" 
rm –Rf "$FILENAME" 

文件但运行后该命令将返回以下错误依然存在:

...Removing test.sparsebundle 
rm: –Rf: No such file or directory 
rm: test.sparsebundle: is a directory 

我无法弄清楚什么是错的。我在命令后面放了下面几行代码,这样我可以尝试一些东西。

#TEST SCRIPT INPUT 
    TEST_CODE="" 
    echo "INPUT TEST CODE \(not deleting sparsebundle\):" 
    read -e TEST_CODE 
    eval "$TEST_CODE" 
#TEST SCRIPT INPUT 

当我输入相同的代码之前通过它的工作原理用户输入(室射频“$文件名”)。我不明白为什么它不能从我的脚本(file.sh)中工作。

有关如何解决此问题的任何想法?

+2

我不知道这是否是粘贴问题,但rm -Rf命令中的'-'不是ascii'-'。这是U + 0096。我不知道为什么除非你以不同的方式输入,否则为什么eval vesion会起作用。 – 2014-10-28 02:05:40

Etan Reisner(上文)answered this question.

的 - 在RM -Rf命令不是一个ASCII字符,这是U + 0096。