Mir*_*lov 190 shell bash alias
假设我在 bash 中有以下别名 - alias ls='ls --color=auto'- 我想在ls没有选项的情况下调用普通。这样做的唯一方法是取消别名,执行命令然后再次别名吗?或者有一些漂亮的技巧或解决方法?
Not*_*Now 251
您还可以添加反斜杠前缀以禁用别名: \ls
编辑:做同样的其他方法包括:
使用“命令”:command ls根据Mikel。
使用完整路径:/bin/ls根据uther。
引用命令:"ls"或'ls'根据 Mikel 评论。
您可以使用 临时删除该终端会话的别名unalias command_name。
Mik*_*kel 95
这就是command命令的用途。
尝试
command ls
Run Code Online (Sandbox Code Playgroud)
这告诉 shell 绕过别名和函数。
Geo*_*e M 20
别名只是一个定义的快捷方式。在这个例子中,定义的别名是 string ls,它执行ls --color=auto。如果你不想要这种行为,你可以调用二进制文件ls使用绝对路径。
所以执行只会/bin/ls产生没有颜色的输出,因为它不是你定义的别名。
您还可以将别名更改为不同的名称,或者添加一个新别名,该别名在ls没有颜色参数的情况下执行。
krl*_*mlr 10
另一种基于@uther 的回答的方法是使用$(which ...)或`which ...`(使用反引号``)自动查找可执行文件的路径。这将适用于bash:
$(which ls)
`which ls`
Run Code Online (Sandbox Code Playgroud)
毫无疑问,简单地在命令前加上 a\会短得多。
更新:根据如何在别名命令上使用`which`?,这似乎根本不可靠。
| 归档时间: |
|
| 查看次数: |
42565 次 |
| 最近记录: |