【发布时间】:2015-01-16 16:13:56
【问题描述】:
我正在从 Cygwin 运行 zsh。我的一个 shell 函数包含一个语句
rm -f somedir/*
(我想删除 somedir 中的所有非隐藏文件,但不是目录本身)。然而,我总是被问到:
zsh: sure you want to delete all the files in ... [yn]?
这条消息的措辞(注意开头的“zsh:”)表明问题来自 zsh,而不是 rm。但是,rm 是一个外部命令:
$ type rm
rm is /usr/bin/rm
顺便说一句,如果我显式调用 rm as 也会出现提示
$ command rm -f somedir/*
zsh里面有什么东西,太聪明了?
【问题讨论】:
-
这个别名是否存在于您的 .zshrc 中: alias rm='rm -i' ?
-
只需输入别名即可查看
-
不,正如您从我的帖子中看到的那样,我同时使用了“类型”和“命令”。 'type' 会显示,如果它们是别名,'command' 会绕过它。另请注意,确认问题不是来自 rm,而是来自 zsh,我们可以从措辞中得出结论。
-
它不会删除我的文件。等待按
y。 -
请看我修改后的答案,它展示了我在 ZSH shell 中使用 sudo 的解决方案。
标签: zsh