rm命令不在shell内部工作

时间:2014-10-28 02:00:18

标签: bash shell terminal directory rm

我使用终端在OS X 10.9上。

我是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

当我通过用户输入输入与之前相同的代码(rm -Rf" $ FILENAME")时,它可以工作。我不明白为什么它在我的脚本(file.sh)中无法工作。

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

1 个答案:

答案 0 :(得分:1)

Etan Reisner(上图)answered this question.

- rm -Rf命令中的 - 不是ascii字符,它是U + 0096。