为什么环境变量写入到/etc/profile里面了,也source了,怎么就是不生效 50

source之后直接echo打印可以用,但是运行脚本的时候又不加载了... source之后直接echo打印可以用,但是运行脚本的时候又不加载了 展开
 我来答
林爱钰
2018-03-30
知道答主
回答量:18
采纳率:0%
帮助的人:7906
展开全部
假设你的用户为A, 登录系统时也登录为A, 则此时/etc/profile 里面的环境变量直接应用到A用户,
然后打开命令行, 你就可以通过 echo $变量名 (不需要花括号)查到你想要的变量名 (包括/etc/profile 和 /home/A/.bashrc 里面设置的;
之后sudo su, 登录为root用户, 这个时候/etc/profile的环境变量是不会自动加载的(因为没经历过开机那段时间的一部分黑箱操作), 那这个时候你只能echo到/home/root/.bashrc里面的变量.
然后说运行脚本, 你要确保的是当前用户和你脚本的所有者是同一个(同为A 或同为root), 否则需要chmod xxx 脚本名( xxx代表权限程度, 具体改成多少我不懂, 所以都改成放权程度最高的 777), 才能使脚本被不同的用户调用, 然后就是要关注当前用户下的.bashrc里面是否有目标变量名, 没有的话就往相应用户的.bashrc里面添加. 如果当前用户是开机登陆的用户(就是看有没有自动加载过/etc/profile),那直接就有目标变量
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
NE_Z
2018-01-02 · TA获得超过1736个赞
知道小有建树答主
回答量:1687
采纳率:55%
帮助的人:539万
展开全部
这个需要重启才能生效,如果用source,每次开bash都要source一下。
如果修改的是/home/用户名/.bash_profile,这个应该是能立即生效的,每次开bash都会自动载入一遍变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
靠谱儿妈妈
2017-11-01 · TA获得超过957个赞
知道小有建树答主
回答量:741
采纳率:74%
帮助的人:239万
展开全部
设置永久环境变量

1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中
2.选择要使用的java环境:update-alternatives –config java
3.要使得刚修改的环境变量生效:source .bashrc
4.查看环境变量:env
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnf1980
2017-12-15 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:54%
帮助的人:2378万
展开全部
echo <变量名>

就可以查看到底有没有生效,比如:

echo  $path
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无奈这轮回
2018-06-20
知道答主
回答量:1
采纳率:0%
帮助的人:799
展开全部
想问一下,您是怎么解决的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 8条折叠回答
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式