要するに:
$ 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.
私はこのマシン (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
。