【发布时间】:2012-06-16 05:43:02
【问题描述】:
我的 .bashrc 中定义了许多别名。例如:
alias ls='ls -la --color'
问题是有时我想选择性地不使用扩展。例如。这样我就可以做一个:
ls -a
我发现的一个解决方案是:
`which ls` -a
当我想不使用别名时。但我想知道是否还有另一个既定的习惯用法。
【问题讨论】:
我的 .bashrc 中定义了许多别名。例如:
alias ls='ls -la --color'
问题是有时我想选择性地不使用扩展。例如。这样我就可以做一个:
ls -a
我发现的一个解决方案是:
`which ls` -a
当我想不使用别名时。但我想知道是否还有另一个既定的习惯用法。
【问题讨论】:
转义用作别名的命令。
\ls -a
【讨论】:
'ls' 或""ls 或l''s 或l"s" 等,但反斜杠是最少的输入。 (不过,您可以通过 l\s 而不是 \ls 来更改它。)
使用 command 内置。 Bash 手册对此内置函数的描述如下:
运行带有 args 的命令会抑制正常的 shell 函数查找。仅执行内置命令或在 PATH 中找到的命令。
【讨论】:
command 如果您有一个覆盖标准命令的函数,那么引用将无济于事。但只是为了绕过别名而需要大量额外的输入。