当前位置:  技术问答>linux和unix

linux下shell的脚本无法获取别的用户的环境变量

    来源: 互联网  发布时间:2017-02-11

    本文导语:  linux上遇到点问题,也没找到linux社区。 我是用root用户在/etc/profile中修改了java_home和catalina_home,这也能在所有其他用户环境下使用,就不用挨个设置了 可是我在另外一个用户下写了一个sh脚本: #!/bin/sh echo $CATALINA_HOME...

linux上遇到点问题,也没找到linux社区。
我是用root用户在/etc/profile中修改了java_home和catalina_home,这也能在所有其他用户环境下使用,就不用挨个设置了
可是我在另外一个用户下写了一个sh脚本:
#!/bin/sh
echo $CATALINA_HOME
无法打印出$CATALINA_HOME的内容,只有一个空行。但是在命令提示符下输入:echo $CATALINA_HOME 时就能打印出$CATALINA_HOME 的具体路径。
 
请问这是什么原因呢?谢谢。

|
在shell脚本中执行cd命令,会临时进入那个路径,脚本执行结束时,你的当前路径又回到执行shell脚本之前的状态。

你可以这样执行你的脚本,注意前面的点
. yourshell

|


完全同意。 楼主可以用echo简单测试一下。 你的第2个问题不是export的问题。

|
你这个脚本是哪个用户执行的?
执行脚本之前,手工执行 echo $catalina_home 看看

|
你把这个变量置为环境变量试试

|


"无法打印出$CATALINA_HOME的内容,只有一个空行。但是在命令提示符下输入:echo $CATALINA_HOME 时就能打印出$CATALINA_HOME 的具体路径。"

明显楼主missing keyword 'export'

|
这是不可能事件,shell命令行里可以用,脚本里肯定也可以用,除非你的/etc/profile里没有export出去,那么相当于在shell里定义了一个普通变量,执行脚本的子进程自然不会见到这个变量,因为只有变量export成为shell的环境变量,才会被子进程继承环境变量。

|

++

    
 
 

您可能感兴趣的文章:

  • Linux下如何查看,设置环境变量并立即生效
  • 程序中获取的环境变量能够根据Linux系统中相应环境变量而变化吗?
  • linux 下设置环境变量 使用了setenv 和putenv 在程序结束以后 发现变量又变回去了
  • Linux能否自定义系统变量一如windows里的系统环境变量可以"新建"一样
  • linux动态链接库里全局变量和静态变量会导致动态库不可重入吗?
  • linux内核怎么定义汇编全局变量及在c文件中使用这个变量?有关0。11下的字符回显
  • [linux shell] 如何获得以一个变量的值为名的变量的值
  • linux 下环境变量如何设呀!
  • Linux 将自带的jdk设置成环境变量
  • Linux下环境变量问题以及FLEX安装问题
  • 在LINUX下安装SYBASE 需添加环境变量问题(在线等待)
  • 在Linux Shell scripts下变量如何取linux的命令运行值
  • 我想问个关于Linux系统下Sybase环境变量的问题
  • linux下到底如何设置环境变量?在哪设置?详细具体点
  • linux中大量的全局变量怎么体现结构化的程序设计?
  • linux 如何在两个.c文件中引用对方的变量。
  • linux~shell~如何取变量的值并在后面添加字符?
  • linux下,如何修改环境变量?
  • 请教:linux平台(redhat7.2)下的环境变量在哪里设置?
  • 在linux下,如何查询系统的预定义变量?
  • ACE 如何在linux下设置环境变量
  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • Linux下如何编写脚本文件
  • 关于linux的脚本运行。。。求高人指点
  • linux重新启动后自动运行脚本程序
  • 谁能简单介绍一下LINUX上的各种语言脚本的功能.
  • linux shell脚本
  • 请问关于linux脚本的一个问题。
  • LINUX的系统管理脚本
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • linux获取主机名后用gethostbyname() 不能获取主机ip
  • 新手问题:Linux下如何获取进程占用的系统资源
  • LINUX下获取WINDOWS用户(组)和系统服务?
  • 关于在linux获取系统软件信息
  • linux dhcpv6概率获取不到地址
  • linux 内核空间如何获取当前时间(常用格式)
  • Linux下如何获取屏幕分辨率?
  • Linux 如何获取 所有的接口信息
  • linux程序获取显示器个数
  • 怎样获取超过4G的Linux Regular文件的大下?
  • 如何获取应用程序的当前路径(Linux)
  • 急,请问Linux中如何像windows获取网络接口是否插入网线???
  • Linux下蓝牙命令.如何获取主类信息
  • linux /proc 的问题。以及获取子进程虚拟内存信息。
  • Linux系统下如何获取STL帮助
  • linux如何获取在浏览器或者文本编辑器中复制的内容
  • linux下如何用C语言获取不同网段上设备的MAC地址
  • linux内核层面,有什么好的获取时间的函数
  • linux下,如何获取未配置的网卡的mac地址。
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统) iis7站长之家
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3