無法在 Cent OS 6.8 上建立別名

無法在 Cent OS 6.8 上建立別名

簡而言之:

$ 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

問題是我機器上的預設 shell 是tsch

運行echo $SHELL以確定您正在使用的 shell。如果是tschcsh,則不使用該=符號來指派別名。

例如,在tsch

$ alias foo="ls"
$ foo
foo: Command not found.

但:

$ alias bar ls
$ bar
<works and lists folder contents>

若要將預設 shell 變更為bash,您可以執行:

$ chsh -s /bin/bash

為了tcsh與別名保持一致,您必須建立一個~/.tcshrc檔案。

相關內容