linux下shell的脚本无法获取别的用户的环境变量,该怎么解决

 我来答
lennoA6043
推荐于2017-09-08 · 超过64用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:157万
展开全部
linux上遇到点问题,也没找到linux社区。 我是用root用户在/etc/profile中修改了java_home和catalina_home,这也能在所有其他用户环境下使用,就不用挨个设置了 可是我在另外一个用户下写了一个sh脚本:#!/bin/shecho $CATALINA_HOME 无法打印出$CATALINA_HOME的内容,只有一个空行。但是在命令提示符下输入:echo $CATALINA_HOME 时就能打印出$CATALINA_HOME 的具体路径。 ------解决方案--------------------------------------------------------探讨引用:那个用户需要重新登录,环境变量才能生效+_+------解决方案-------------------------------------------------------- 在shell脚本中执行cd命令,会临时进入那个路径,脚本执行结束时,你的当前路径又回到执行shell脚本之前的状态。 你可以这样执行你的脚本,注意前面的点 . yourshell ------解决方案--------------------------------------------------------探讨在shell脚本中执行cd命令,会临时进入那个路径,脚本执行结束时,你的当前路径又回到执行shell脚本之前的状态。 你可以这样执行你的脚本,注意前面的点 . yourshell ------解决方案-------------------------------------------------------- 执行脚本之前,手工执行 echo $catalina_home 看看 ------解决方案-------------------------------------------------------- 你把这个变量置为环境变量试试 ------解决方案-------------------------------------------------------- 这是不可能事件,shell命令行里可以用,脚本里肯定也可以用,除非你的/etc/profile里没有export出去,那么相当于在shell里定义了一个普通变量,执行脚本的子进程自然不会见到这个变量,因为只有变量export成为shell的环境变量,才会被子进程继承环境变量。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式