作者:nnnnllll | 来源:互联网 | 2023-05-26 14:09
我正在从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中有什么东西,它试图太聪明吗?
1> hchbaw..:
这似乎RM_STAR_SILENT
是不生效.
你可以setopt rmstarsilent
告诉zsh不要确认rm *
.
shell选项RM_STAR_SILENT
是:
在执行rm *
或之前不要查询用户rm path/*
.
- zshoptions(1): RM_STAR_SILENT
如果你只想setopt
在shell函数中暂时生成效果,可以将它与localoptions
下面的结果一起使用:
my-test () {
setopt localoptions rmstarsilent
...
}