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

请叫下环境变量重复设置的问题

    来源: 互联网  发布时间:2016-05-17

    本文导语:  把下面的脚本保存在一个shell里面,运行一次没有问题,但是运行两次的话,$DSAGENT_HOME/bin会加上两次,因为第二次path里面已经有了$DSAGENT_HOME/bin,再加上前面一次的。 这样如果多次运行的话,虽然功能是好的,但是pat...

把下面的脚本保存在一个shell里面,运行一次没有问题,但是运行两次的话,$DSAGENT_HOME/bin会加上两次,因为第二次path里面已经有了$DSAGENT_HOME/bin,再加上前面一次的。
这样如果多次运行的话,虽然功能是好的,但是path会有很大的冗余,不确定会不会对效率产生什么坏处。请高人明示。

请教:有没有那种写法,既能把已有的path加上这次的,又不重复变。非常感谢

PATH=$DSAGENT_HOME/bin:$PATH

|
那就自己在添加新路径前判断一下PATH是否已经包含了需要添加的路径,比如:
echo $PATH | grep “$DSAGENT_HOME” || PATH=$DSAGENT_HOME:$PATH

|
modify your .bash_profile, add the path:)

|
当然会,1) path用来搜索可执行文件的路径。如果你重复包含一个path,意味着 如果在此之前没有找到文件的话 ,他会重复搜索你的path。效率当然会受到影响。
2) 要解决这个问题,一般在用户登录时,设置其path就ok了。当然你可以写一个脚本,只运行一次来设置路径。

|
通常情况下,

用户登录系统时,bash首先执行/etc/profile配置文件和/etc/profile.d/目录下的配置文件,这些配置文件对系统的所有用户都有效,它们设置了普遍性的环境变量.然后,bash会执行登录用户主目录下的.bashrc和.bash_profile文件,

通过这两个配置文件设置用户个性化的环境变量,并且可以重复设置前面配置文件中设置的选项,覆盖它们的设置值.用户主目录下面的.bashrc文件会执行/etc /bashrc文件来完成环境变量的设置.

用户主目录下的.bash_profile设置为每次登录时执行,而.bashrc则被设置为在每次打开新的终端时执行,即打开新的终端而不需要重新,接受初始登录环境变量.

如果用户需要添加或修改某个环境变量,使其每次登录时都会存在和具有用户指定的值,则需要修改该用户主目录下的.bashrc文件.但是以其它用户身份登录后,则不会有这个环境变量的存在,这是因为,在上面修改的仅仅是前面用户私有的shell环境配置文件.如果需要使这个环境变量的修改对所有的用户都有效,只需要以root的身份修改/etc/profile文件.

PATH变量决定了shell将到哪些目录中寻找命令或程序.如果要执行的命令的目录在$PATH中,用户就不必输入这个命令的完整路径,直接输入命令就可以了(如果有".路径"可执行文件也可以直接执行,而不需要在其前面加./了.可以这样设置:

1、在/etc/profile末添加PATH=$PATH:.   
                      export PATH
2、。 /etc/profile).

|
另外一个可能的影响就是:PATH是一个系统变量,它的值长度是有限制的,所以当过长时就会出现问题,具体允许的长度自己去查找一下吧。


    
 
 

您可能感兴趣的文章:

  • Linux下如何查看,设置环境变量并立即生效
  • 程序中获取的环境变量能够根据Linux系统中相应环境变量而变化吗?
  • 怎么查看自己的shell的环境变量,和root的环境变量,solaris系统
  • 请问:环境变量的值 一般前面加$就可以了,但有时又用{}将环境变量括起来,它们有什么区别啊?
  • 请问在win2000的环境变量中,administrator的用户变量与系统变量有什么区别??
  • shell编程,如何将变量中的环境变量转换为绝对值
  • Linux能否自定义系统变量一如windows里的系统环境变量可以"新建"一样
  • linux 下设置环境变量 使用了setenv 和putenv 在程序结束以后 发现变量又变回去了
  • 急,《UNIX环境高级编程》中6.9 环境变量T Z是什么?
  • 下载了个Tomcat 5.0.27,solaris 9系统,但是环境Java_home的环境变量不知道怎么设定
  • 如何在linux环境下配置java环境变量?
  • crontab tomcat 环境变量问题!
  • gdb下用shell写环境变量的问题
  • 如何查看当前shell的所有环境变量?
  • 我想问个关于Linux系统下Sybase环境变量的问题
  • linux 下环境变量如何设呀!
  • 一个关于环境变量设置的问题
  • java程序环境变量的问题!
  • 在LINUX下安装SYBASE 需添加环境变量问题(在线等待)
  • 环境变量存放在哪个文件中?
  • 在unbuntu中如何添加环境变量
  • 用JSP。XML开发网站。请问那种环境设置最好。该如何设置环境
  • 在使用gcc之前,需要先设置环境吗?如何设置?在线等!!!
  • linux下到底如何设置环境变量?在哪设置?详细具体点
  • 环境变量设置设置与显示不一致
  • 超级新手: 在98或winme下设置jdk时怎么设置系统环境变量PATH??
  • 环境变量设置无效
  • 一个简单的环境变量的设置问题
  • Linux 将自带的jdk设置成环境变量
  • 关于ubuntu下的JDK环境变量设置
  • 如何让本次设置的环境变量在重启动后仍然有效??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 退出curses环境到字符环境的问题?
  • Linux下环境变量问题以及FLEX安装问题
  • Linux环境下QT交叉编译环境的移植问题请教帮忙
  • Red Hat 9.0 Linux环境变量设置问题. 有人遇见过这个问题吗?????????????
  • AIX环境下串口读取问题
  • 求助关于Fodero13的C++环境问题
  • 请教个shell环境变量的问题
  • telnet环境下,退格键的使用问题
  • solaris的编译环境的问题
  • 关于设置环境变量的问题
  • 有关环境变量丢失的问题
  • gcc 编译器的安装问题----设置环境变量??? 着急!!
  • csh下环境变量设置问题,请帮忙解决,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 守护进程的信号问题(UNIX环境高级编程 中的问题)
  • LAMP环境搭配问题!
  • 请教一奇怪的环境变量的问题
  • 系统问题???环境变量??
  • [问大家一个问题啊]关于环境变量MALLOCMULTIHEAP
  • 网络技术 iis7站长之家
  • suse下多用户安装JDK时环境变量的配置问题
  • 多jdk环境下安装多个tomcat冲突解决配置方法
  • Android环境的PHP开发环境 ANMPP
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 介绍几本电子书还有,java的开发环境及测试环境在那下载
  • 用的是linux,kde,gnome为中文环境,如果把它改为英文环境。
  • 求教: Linux环境下有没有类似VC++那样的、比较容易使用的集成开发环境?
  • 因进修,需要学习《Unix 环境高级编程》一书,完全没接触过Unix/Linux,请推荐一个学习环境。
  • 哪有将c程序从HPUNIX环境移植到LINUX环境的资料
  • Linux下怎么搭建QT的环境,QT编程有没IDE?要用QT编程是不是得先编译QT环境?
  • JSP开发环境和运行环境的配置和使用方法,以SUN JDK为例
  • 有哪些中文linux,有哪些外挂的中文环境,这些中文环境之间兼容吗?


  • 站内导航:


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

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

    浙ICP备11055608号-3