如果我对.bashrc进行了更改,如何在不注销并重新登录的情况下重新加载它?
当前回答
我使用easyfengine设置了基于vultr云的服务器。我在/etc/bash.basrc中找到了我的bash文件。
所以source/etc/bash.bashc为我做了这个把戏!
使现代化
在设置裸机(ubuntu 16.04)时,当您尚未设置用户名并通过root登录时,可以使用上述信息。
最好创建一个用户(具有sudo权限),并以该用户名登录。这将为您的设置创建一个目录,包括.profile和.bashrc文件,如前一个资源中所述。
现在,您将编辑和(并源代码)~/.bashrc文件。
在我的服务器上,它位于/home/your_username/.bashrc(其中your_username实际上是您在上面创建的新用户名,现在使用登录)
其他回答
有人编辑了我的答案,添加了不正确的英语,但这是原文,比公认的答案差。
. .bashrc
或者您可以使用:
exec bash
这样做也是一样的,而且更容易记住(至少对我来说)。
exec命令通过运行指定的命令行完全替换shell进程。在我们的示例中,它用一个新的bash实例(用更新的配置文件)替换当前的shell。
我使用easyfengine设置了基于vultr云的服务器。我在/etc/bash.basrc中找到了我的bash文件。
所以source/etc/bash.bashc为我做了这个把戏!
使现代化
在设置裸机(ubuntu 16.04)时,当您尚未设置用户名并通过root登录时,可以使用上述信息。
最好创建一个用户(具有sudo权限),并以该用户名登录。这将为您的设置创建一个目录,包括.profile和.bashrc文件,如前一个资源中所述。
现在,您将编辑和(并源代码)~/.bashrc文件。
在我的服务器上,它位于/home/your_username/.bashrc(其中your_username实际上是您在上面创建的新用户名,现在使用登录)
我注意到纯exec bash命令将保留环境变量,因此需要使用exec-c bash在空环境中运行bash。
例如,登录一个bash,然后导出a=1,如果执行bash,则a==1。
如果执行-cl bash,则A为空。
我认为这是完成你工作的最佳方式。
假设是一个交互式shell,并且您希望保留当前的命令历史记录并加载/etc/profile(它加载环境数据,包括/etc/bashrc,在Mac OS X上,通过path_helper加载/etc/paths.d/中定义的路径),附加命令历史记录,并使用login('-l')选项执行bash:
history -a && exec bash -l
推荐文章
- 查找一个目录中存在而另一个目录中不存在的文件
- 如何计算时间消耗在bash脚本?
- 如何使用cat读取文件的第一行?
- 如何管道stdout,同时保持它在屏幕上?(而不是输出文件)
- 根据文件的第二列对数据进行排序
- sed中的环境变量替换
- Bash:从输出中去掉尾随换行符
- 我如何写一个bash脚本重新启动一个进程,如果它死了?
- 创建gem本地扩展失败(正在安装Compass)
- 我可以更改“noup .out”的名称吗?
- 如何在文件的开头插入文本?
- nohup和&号有什么区别
- $?(美元问号)的shell脚本
- Mac OS X终端:映射选项+删除到“反向删除字”
- 如果前一条命令执行成功,如何执行另一条命令