取消已由别名设置的标志
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
。
一般来说,除了首先避免别名扩展之外,没有办法删除别名扩展提供的选项。
考虑以下 bash 别名:
alias echo="echo -e";
有没有办法在进一步使用时关闭 -e
标志?像 echo +e
这样的语法对我来说似乎很有用,因为我只调用 echo
then.
由于 echo 是内置的,在这种特殊情况下,可以使用 builtin echo
来存档效果。但是,我也在寻找一种方法来处理任意 bash 命令。此外,我宁愿寻找一种方法来显式取消设置标志选择,而不仅仅是重置为原始命令。
在命令前添加反斜杠 (\
) 将暂时禁用别名并强制使用原始命令。
在这种特定情况下,echo
有一个 -E
选项禁用转义字符的处理,覆盖以前使用的 -e
。
一般来说,除了首先避免别名扩展之外,没有办法删除别名扩展提供的选项。