取消已由别名设置的标志

unset flags that have already been set by aliases

考虑以下 bash 别名:

alias echo="echo -e";

有没有办法在进一步使用时关闭 -e 标志?像 echo +e 这样的语法对我来说似乎很有用,因为我只调用 echo then.

由于 echo 是内置的,在这种特殊情况下,可以使用 builtin echo 来存档效果。但是,我也在寻找一种方法来处理任意 bash 命令。此外,我宁愿寻找一种方法来显式取消设置标志选择,而不仅仅是重置为原始命令。

在命令前添加反斜杠 (\) 将暂时禁用别名并强制使用原始命令。

在这种特定情况下,echo 有一个 -E 选项禁用转义字符的处理,覆盖以前使用的 -e

一般来说,除了首先避免别名扩展之外,没有办法删除别名扩展提供的选项。