我了解到 -i 选项是交互模式,-f 选项是 rm 命令中的强制模型。
当我尝试这两种选择时
rm -if test.txt
它没有问我,只是删除了它,这意味着 -f 选项覆盖了 -i 选项。
当然,我不会在现实生活中同时使用选项 -i 和 -f。但是我想知道如果同时使用两个相互矛盾的选项是否有优先级。
我在 Ubuntu 22.04 中试过这个。
我了解到 -i 选项是交互模式,-f 选项是 rm 命令中的强制模型。
当我尝试这两种选择时
rm -if test.txt
它没有问我,只是删除了它,这意味着 -f 选项覆盖了 -i 选项。
当然,我不会在现实生活中同时使用选项 -i 和 -f。但是我想知道如果同时使用两个相互矛盾的选项是否有优先级。
我在 Ubuntu 22.04 中试过这个。
一般来说:不,Unix 命令没有标志优先级的概念。
来自Open Group Base Spec 关于 Utility Arguments 的部分
如果给出了冲突的标志,则由命令隐式决定哪个具有优先权或者可能警告或错误。
如前所述,在 的情况下
rm
,-f
将覆盖任何先前的-i
.再举一个例子,如果你要求
tar
同时创建和归档-c
并提取一个归档文件-x
,它会抱怨你没有意义:除了@ckhan 的回答:
rm
我使用的实现始终将最后给定的参数视为最终参数。这意味着:等等。例如,AIX 联机帮助页 (AIX 7.2) 指出: