source ubuntu 退出_Ubuntu 18.04每次打开命令行都要重新source profile的解决方法

在Ubuntu 18.04.1 LTS操作系统下配置了JAVA环境,每次重新打开命令行都要重新source profile,以下是该问题的原因分析及解决方法、注意事项。

产生该问题的原因分析和记录

1.bashrc是在系统启动后就会自动运行。

2.profile是在用户登录后才会运行。

3./etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量。

延伸:login shell与non-login shell

1.non-login shell:登录终端不需要密码,例如直接在Ubuntu当前用户中打开的终端。这种情况shell不会读取/etc/profile和/.bash_profile,而是读取/.bashrc来应用新的环境变量。

2.login shell:需要输入密码登录的shell,例如通过 su 用户名 登录的shell。此种方式登录时,shell会重新读取/etc/profile和~/.bash_profile来应用新的环境变量。

3.识别非login的shell方法还是运行#echo $0命令,得到的结果假设没有'-'前缀。即为非login的。

解决方法

把export语句写在~/.bashrc文件里,或者在该文件里写上source /etc/profile。可以参考在Ubuntu 18.04.1系统中搭建Java环境及创建Maven项目一文。

注意事项

non-login shell启动的脚本不会入/etc/profile中的命令,所以在/etc/profile中设置的某些命令不会生效,可能会导致一些问题,需要格外注意。

相关主题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值