无法在 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文件。

相关内容