como 'não' executar alias [duplicado]

7

Eu configurei alguns aliases no arquivo .bashrc . Eu preciso desses aliases na maior parte do tempo, mas às vezes eu preciso executar esses comandos sem opções definidas nesse alias específico.

Como não executa o comando alias?

    
por edward torvalds 05.11.2015 / 15:02

3 respostas

13

Execute o comando com um \ inicial, uma resposta nos exemplos: ;)

% 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

Ligeiramente mais longo, mas também possível:

command ls
    
por A.B. 05.11.2015 / 15:07
8

Você pode usar o shell embutido command para escapar aliases (e funções):

command alias_name

Por exemplo:

command ls

executará /bin/ls binário, não qualquer alias definido como ls .

Uma alternativa é usar aspas:

"alias_name"

ou

'alias_name'

Por exemplo:

"ls"

ou

'ls'

eles executarão novamente o binário /bin/ls , ignorando qualquer alias ls .

    
por heemayl 05.11.2015 / 15:48
3

Como alternativa, você pode especificar o caminho completo para o comando. Por exemplo, meu comando ls está com alias para ls='ls --color -F'

O que se pode fazer é chamar /bin/ls ou $(which ls) (para aqueles de nós com preguiça de digitar o caminho completo).

Exemplo: chamando o comando original com sinalizadores $(which ls) -l

    
por Sergiy Kolodyazhnyy 05.11.2015 / 15:29