我想运行一个命令行:
cd ~/www/tmp/; rm -P 2*
但是如果没有以2开头的文件,我会报错。
您可能认为我想使用-f
,但是:
-f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error.
而且我确实在乎文件权限-如果发生奇怪的事情,我希望使用命令中止。我只想抑制“不存在”错误。
我查看了一些其他带有“ rm错误”的问题,发现这两个(有点)相关:
但是,我不了解该问题答案中的所有内容,也不知道我需要它吗?
touch
这个问题的黑客建议:
似乎可行,因为我认为我不会介意绩效下降(但是您会选择哪种类型的绩效下降?-即:这是一种可合理扩展的技术,还是我只是在学习非常不好的习惯?)
我不确定如何if-then
在命令行中执行操作。
还有简单的命令行剪切粘贴粘贴清理其他选项吗?
find -delete
我的情况会更好吗?如果是这样,为什么?
有问题的错误:
rm: 2*: No such file or directory
您是否正在
—
库沙兰丹
zsh
用作交互式外壳?您遇到No matches found
错误了吗?
@MichaelHomer不,错误来自rm。Shell只是将字符串传递
—
doneal24 '18
2*
给rm,而不是将其扩展为文件列表。看看有问题的错误:它说rm正在抱怨,而不是sh / bas / zsh / ...
rm
因此您需要说明那是什么。