Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在CentOS中启动bash时自动设置别名?_Linux_Bash_Alias - Fatal编程技术网

Linux 如何在CentOS中启动bash时自动设置别名?

Linux 如何在CentOS中启动bash时自动设置别名?,linux,bash,alias,Linux,Bash,Alias,当bash终端启动时,我希望它自动设置一些别名,但由于某些原因,它们不能正常工作 我有一个名为.bash\u别名的bash脚本,在我的.bashrc文件中,我有以下代码: if [ -f .bash_aliases ]; then echo "bash_aliases file is here" ./.bash_aliases fi 在文件.bash\u别名中我有: "creating alias for baaa" alias baaa='echo "baa

当bash终端启动时,我希望它自动设置一些别名,但由于某些原因,它们不能正常工作

我有一个名为
.bash\u别名
的bash脚本,在我的
.bashrc
文件中,我有以下代码:

if [ -f .bash_aliases ]; then
        echo "bash_aliases file is here" 
        ./.bash_aliases
fi
在文件
.bash\u别名中
我有:

"creating alias for baaa"
alias baaa='echo "baaa"'
现在,当我启动终端时,我看到:

bash_aliases file is here
creating alias for baaa
但当我尝试命令时:

baaa
我明白了吗

bash: baaa: command not found...
这有什么意义? 然而,当我从终点站出发时

[<>@<> ~]$ alias baaa='echo "baaa"'
[<>@<> ~]$ baaa
baaa
[@~]$alias baaa='echo“baaa”'
[@~]$baaa
巴阿
这是意料之中的。为什么在
.bash\u alias
文件中设置别名不起作用?我确保该文件是可执行的:
sudo chmod 777.bash\u别名


我用的是CentOS 7

标点符号很重要。要添加别名,您需要获取定义别名的脚本源代码,并在当前shell中执行别名:

# WORKS: source file named bash_aliases in the current directory
. ./.bash_aliases       # POSIX-compliant syntax
…也写为

# WORKS: source file named bash_aliases in the current directory
source ./.bash_aliases   # bash-only syntax

如果您改为执行以下操作:

# BROKEN: Run .bash_aliases as subprocess
./.bash_aliases
…它作为一个单独的脚本运行,当该脚本退出时,别名将被忘记



顺便说一句——由于源代码脚本将其读入当前shell,而不是作为单独的程序执行,这意味着它不需要文件权限即可执行。因此,您的
.bash\u别名
不需要也不应该具有
+x
权限。

您知道
源代码
命令的功能吗
source
命令的别名。完全不需要使文件可执行。(永远不要使用
chmod 777
,它会写入系统上的每个帐户;这包括匿名帐户,例如
nobody
,用于(除其他外)沙箱不受信任的身份验证代码)。允许对文件和文件夹具有足够的DAC权限<代码>777会招来麻烦。看见