Суммируя:
$ alias search=grep
$ search
search: Command not found.
$ alias search='grep'
$ search
search: Command not found.
$ alias search="grep"
$ search
search: Command not found.
Почему не alias
работает?
Я также добавил псевдонимы и запустил source
следующие файлы, но получаю ту же ошибку:
~/.bashrc
~/.bash_profile
~/.profile
Например, если это мой ~/.bashrc
:
alias wtf='git'
alias foo="ls"
alias search=grep
И я source ~/.bashrc
открываю новый терминал, и все равно получаю это:
$ foo
foo: Command not found.
$ wtf
wtf: Command not found.
$ search
search: Command not found.
Я не root на этой машине (Cent OS 6.8, не уверен, что это важно), и когда я просто запускаю, alias
я вижу псевдонимы для всех пользователей. Могу ли я не создавать псевдонимы только для моего пользователя?
решение1
Проблема была в том, что на моем компьютере оболочка по умолчаниюtsch
.
Запустите echo $SHELL
, чтобы определить, какую оболочку вы используете. Если это tsch
или csh
, то вы не используете =
знак для назначения псевдонимов.
Например, на tsch
:
$ alias foo="ls"
$ foo
foo: Command not found.
Но:
$ alias bar ls
$ bar
<works and lists folder contents>
Чтобы изменить оболочку по умолчанию на bash
, вы можете выполнить:
$ chsh -s /bin/bash
Чтобы сохранить tcsh
псевдонимы, вам придется создать ~/.tcshrc
файл.