Aliases no bash e como "escapar" um comando com alias
Dica publicada em Linux / Comandos
Aliases no bash e como "escapar" um comando com alias
Primeiramente, vou passar um resumo breve sobre aliases.
No bash, um alias é uma espécie de apelido para um comando ou uma série de comandos.
Por exemplo, se eu uso com frequência o comando ls -lh, posso criar um alias para o comando ls:
alias ls="ls -lh"
A partir de agora, toda vez que eu digitar o comando ls, o bash interpretará como ls -lh, automaticamente.
Para listar todos os alias atuais:
alias
alias ls='ls -lh --color=auto'
alias rm='rm -i'
Para remover uma alias, usamos o comando unalias:
unalias ls
Isto posto, em algumas situações, será necessário digitar apenas o comando, sem o alias. Seguindo o mesmo exemplo, pode ser que eu precise digitar o comando "ls", mas já tenho um alias "ls".
Seria muito entediante ter que remover o alias apenas para poder digitar o comando "puro".
Uma solução eficaz, é "escapar" o comando com uma barra invertida "\":
Exemplo:
alias
alias ls='ls -lh --color=auto'
alias rm='rm -i'
ls
arca.txt bife.sh paçoca
O escape faz com que o bash não interprete o comando como um alias, se ele existir, executando tão somente o comando.
Abraços.
No bash, um alias é uma espécie de apelido para um comando ou uma série de comandos.
Por exemplo, se eu uso com frequência o comando ls -lh, posso criar um alias para o comando ls:
alias ls="ls -lh"
A partir de agora, toda vez que eu digitar o comando ls, o bash interpretará como ls -lh, automaticamente.
Para listar todos os alias atuais:
alias
alias ls='ls -lh --color=auto'
alias rm='rm -i'
Para remover uma alias, usamos o comando unalias:
unalias ls
Isto posto, em algumas situações, será necessário digitar apenas o comando, sem o alias. Seguindo o mesmo exemplo, pode ser que eu precise digitar o comando "ls", mas já tenho um alias "ls".
Seria muito entediante ter que remover o alias apenas para poder digitar o comando "puro".
Uma solução eficaz, é "escapar" o comando com uma barra invertida "\":
Exemplo:
alias
alias ls='ls -lh --color=auto'
alias rm='rm -i'
ls
total 8,0K -rw-r--r-- 1 dmanzano dmanzano 0 Mai 27 17:45 arca.txt -rwxr-xr-x 1 dmanzano dmanzano 311 Mai 22 19:43 bife.sh drwxr-xr-x 2 dmanzano dmanzano 4,0K Mai 27 17:45 paçoca\ls
arca.txt bife.sh paçoca
O escape faz com que o bash não interprete o comando como um alias, se ele existir, executando tão somente o comando.
Abraços.