我有一个.desktop
可执行文件bash -c
以设置环境变量然后加载程序的文件。现在,我需要在加载程序之前添加另一个命令。
有时,程序会创建名为SOFT_REPAIR
in的文件~/path to/*/
,在运行该程序之前,我需要将其删除。*
代表程序可能使用的任何版本,并且/path to/
暗含在其中SOFT_REPAIR
驻留的文件夹名称中的空格。
所以这是东西:
/path\ to/
吗?rm 'path to/*/SOFT_REPAIR/'
工作吗?rm
命令是否SOFT_REPAIR
存在,还是需要使用该if
语句?要解决您原来的问题:
find ~/'path to'/ -name SOFT_REPAIR -exec rm -f "{}" \;
或者,如果您有GNU find
:
find ~/'path to'/ -name SOFT_REPAIR -delete
要回答您的问题:
否,因为引号阻止了shell glob扩展。不过,这应该可以工作:
rm 'path to'/*/SOFT_REPAIR/
假设它SOFT_REPAIR
仅位于以下两个级别path to/
rm
在不存在的文件上将引发错误。rm -f
将无声地失败(至少在的GNU实现中rm
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句