jas*_*yan 78
获取更改的文件将提供对当前终端中新编写的别名或函数的访问,例如:
source ~/.bashrcRun Code Online (Sandbox Code Playgroud)
另一种语法:
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的终端中运行了许多 bash 实例(您提到了多个选项卡),则您必须在每个实例中运行它。
. ~/.bashrc在命令行中键入将运行.bashrc,因此将创建该文件中定义的任何函数。
.bashrc如果其中包含以下代码,它本身也会调用并运行.bash_aliases(如果存在).bashrc:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
而. ~/.bash_aliases单独使用(例如在命令行中)只会在.bash_aliases不涉及 .bashrc 的情况下尝试和运行,并且如果文件不存在则会给出错误(因此在 in 时进行文件检查测试.bashrc)。
有时你会想将别名变成函数,但是当你获取 bashrc 文件时,可能会出现一个奇怪的错误:
. ~/.bashrc
bash: /home/username/.bashrc: line 38: syntax error near unexpected token `('
bash: /home/username/.bashrc: line 38: `hello_world() {'
Run Code Online (Sandbox Code Playgroud)
发生这种情况可能是因为别名与新定义的函数的名称冲突。据我所知,为了避免这种情况,需要取消所有内容的别名,然后获取 bashrc 文件:
bash-4.3 $
unalias -a && . $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)