En breve:
$ alias search=grep
$ search
search: Command not found.
$ alias search='grep'
$ search
search: Command not found.
$ alias search="grep"
$ search
search: Command not found.
¿Por qué no alias
funciona?
También agregué alias y ejecuté source
los siguientes archivos, pero aparece el mismo error:
~/.bashrc
~/.bash_profile
~/.profile
Por ejemplo, si este es mi ~/.bashrc
:
alias wtf='git'
alias foo="ls"
alias search=grep
Y source ~/.bashrc
abro una nueva terminal, todavía aparece esto:
$ foo
foo: Command not found.
$ wtf
wtf: Command not found.
$ search
search: Command not found.
No soy root en esta máquina (Cent OS 6.8, no estoy seguro si eso es relevante), y cuando lo ejecuto alias
veo los alias de todos los usuarios. ¿No puedo crear alias solo para mi usuario?
Respuesta1
El problema era que el shell predeterminado en mi máquina estsch
.
Ejecute echo $SHELL
para determinar qué shell está utilizando. Si es tsch
o csh
, entonces no usas el =
signo para asignar alias.
Por ejemplo, en tsch
:
$ alias foo="ls"
$ foo
foo: Command not found.
Pero:
$ alias bar ls
$ bar
<works and lists folder contents>
Para cambiar su shell predeterminado a bash
, puede ejecutar:
$ chsh -s /bin/bash
Para seguir tcsh
con los alias, deberá crear un ~/.tcshrc
archivo.