Geo*_*ins 2438
您只需输入命令:
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
或者您可以使用命令的较短版本:
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
Who*_*yIn 252
或者你可以使用;
exec bash
Run Code Online (Sandbox Code Playgroud)
做同样的事情.(更容易记住,至少对我而言)
exec命令用给定的程序替换shell,在我们的例子中,它用bash替换我们的shell(使用更新的配置文件)
mkl*_*nt0 114
为了补充和对比两个最流行的答案,. ~/.bashrc并且exec bash:
两种解决方案都有效地重新加载~/.bashrc,但存在差异:
. ~/.bashrc或source ~/.bashrc将保留您当前的shell:
~/.bashrc到当前壳(采购)使得,在当前壳和它的状态被保存,包括环境变量,shell变量,shell选项,外壳的功能,和命令历史记录.exec bash或者,更健壮的exec "$BASH"[1],将用新实例替换当前的shell,因此只保留当前shell的环境变量(包括你自己定义的那些).
根据您的需要,可能首选一种或另一种方法.
[1] exec bash理论上可以执行与 bash启动当前shell 的不同的可执行文件,如果它恰好存在于前面列出的目录中$PATH.由于特殊变量$BASH始终包含启动当前shell的可执行文件的完整路径,exec "$BASH"因此保证使用相同的可执行文件.
的说明重新"..."周围$BASH:双引号确保变量值被照原样使用,而不被解释击; 如果值没有嵌入空格或其他shell元字符(在这种情况下不太可能),则不需要双引号,但使用它们是一种很好的习惯.
Ran*_*tor 45
有人编辑我的答案添加错误的英语,但这是原始的,这不如接受的答案.
. .bashrc
Run Code Online (Sandbox Code Playgroud)
Jam*_*mes 18
根据您的环境,只需输入
bash
Run Code Online (Sandbox Code Playgroud)
也可以工作.
Roy*_*Lin 16
有了这个,你就不会甚至要输入"源〜/ .bashrc中":
包括你的bashrc文件:
alias rc="vim ~/.bashrc && source ~/.bashrc"
Run Code Online (Sandbox Code Playgroud)
每次要编辑bashrc时,只需运行别名" rc "
Geo*_*ale 13
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
source是.bash中dot/period的同义词,但在POSIX sh中不是,所以为了获得最大的兼容性,请使用句点.
exec bash
Run Code Online (Sandbox Code Playgroud)
exec命令用给定的程序替换shell ... - WhoSayIn
She*_*man 10
我使用 easyengine 来设置我的 vultr 基于云的服务器。
我在 处找到了我的 bash 文件/etc/bash.bashrc。
source /etc/bash.bashrc这招对我来说也是如此!
更新
设置裸服务器(ubuntu 16.04)时,如果您尚未设置用户名并通过root登录,则可以使用上述信息。
最好创建一个用户(具有 sudo 权限),然后以此用户名登录。
这将为您的设置创建一个目录,包括上一个资源中所述的文件.profile。.bashrc
现在,您将编辑 和 (和source)~/.bashrc文件。
在我的服务器上,它位于/home/your_username/.bashrc
(your_username实际上是您在上面创建的新用户名,现在用它登录)
exec bash 是重新执行和启动新 shell 以替换当前 shell 的好方法。只是为了添加答案,$SHELL 返回当前的 shell,即 bash。通过使用以下命令,它将重新加载当前的 shell,而不仅仅是 bash。
exec $SHELL -l;
根据您的环境,您可能需要添加脚本以在打开SSH会话时自动加载.bashrc。我最近迁移到了运行Ubuntu的服务器,默认情况下加载的是.profile,而不是.bashrc或.bash_profile。要在.bashrc中运行任何脚本,source ~/.bashrc每次打开会话时都必须运行,这在运行远程部署时无济于事。
要在打开会话时自动加载.bashrc,请尝试将其添加到.profile中:
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
Run Code Online (Sandbox Code Playgroud)
重新打开会话,它将加载.bashrc中的所有路径/脚本。