bash - rm 命令在 shell 内部不起作用

标签 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) 中不起作用。

关于如何解决这个问题有什么想法吗?

最佳答案

Etan Reisner (上)answered this question.

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

关于bash - rm 命令在 shell 内部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599751/

相关文章:

linux - 删除文件名中的零

python - iMac上的Shell脚本不再与High Sierra一起使用

linux - 在 shell 脚本中每秒运行一次 for 循环

terminal - 在 Nano 文本编辑器上编辑元快捷方式

linux - Bash 编程无限循环

bash - OpenSuse Linux 上的 .bashrc 或 .bash_profile 在哪里?

linux - 带宽接口(interface)端口的 Bash 脚本

linux - Grep 用户输入以查找号码

c - 一次结束 C 程序的多个实例?

php - 如何为生产或子域系统创建 laravel 存储符号链接(symbolic link)?