如何“不”执行别名

Edw*_*lds 9 bash alias bashrc

我在.bashrc文件中设置了几个别名。大多数时候我都需要这些别名,但有时我需要在没有在该特定别名中设置选项的情况下运行这些命令。

如何执行别名命令?

A.B*_*.B. 16

运行带有前导的命令,\示例中的答案:;)

% ls
bar  foo

% alias ls="ls -laog"

% ls
total 4292
drwxrwxr-x  4 4329472 Nov  5 15:06 .
drwx------ 95   28672 Nov  5 15:15 ..
-rw-rw-r--  1       0 Nov  5 15:06 bar
drwxrwxr-x  2    4096 Nov  5 15:06 foo
drwxrwxr-x  2    4096 Okt  2 14:29 .foo
-rw-rw-r--  1     191 Feb 25  2015 .htaccess

% \ls
bar  foo
Run Code Online (Sandbox Code Playgroud)

稍长但也可能:

command ls
Run Code Online (Sandbox Code Playgroud)

  • 再次,我学到了一些新东西。+1 =) (2认同)

hee*_*ayl 8

您可以使用 shell 内置command来转义别名(和函数):

command alias_name
Run Code Online (Sandbox Code Playgroud)

例如:

command ls
Run Code Online (Sandbox Code Playgroud)

将运行/bin/lsbinary ,而不是任何定义为ls.

另一种方法是使用引号:

"alias_name"
Run Code Online (Sandbox Code Playgroud)

或者

'alias_name'
Run Code Online (Sandbox Code Playgroud)

例如:

"ls"
Run Code Online (Sandbox Code Playgroud)

或者

'ls'
Run Code Online (Sandbox Code Playgroud)

这些将再次运行/bin/ls二进制文件,忽略任何别名ls

  • @edwardtorvalds 我的建议是接受 AB 的建议,因为它首先出现并且指导得很好..我想我和塞尔格根本不会介意:) (3认同)