zoukankan      html  css  js  c++  java
  • 使用函数添加环境变量

    返回主页面

    环境变量通常用于存储路径列表,这些路径用于搜索可执行文件、库文件等。例如$PATH$LD_LIBRARY_PATH,它们通常看起来像这样:

        PATH=/usr/bin;/bin
        LD_LIBRARY_PATH=/usr/lib;/lib
    

    这意味着只要shell需要运行二进制可执行文件时,它会首先查找/usr/bin,然后是/bin

    当你必须使用源代码编译生成程序并将其安装到某个特定路径中时,有项极其常见的任务就 是将该程序的bin目录加入PATH环境变量。假设我们要将myapp安装到/opt/myapp,它的二进制文 件在bin目录中,库文件在lib目录中。

        export PATH=/opt/myapp/bin:$PATH
        export LD_LIBRARY_PATH=/opt/myapp/lib;$LD_LIBRARY_PATH
    

    PATHLD_LIBRARY_PATH现在看起来应该像这样: PATH=/opt/myapp/bin:/usr/bin:/bin

        LD_LIBRARY_PATH=/opt/myapp/lib:/usr/lib;/lib
    

    不过我们可以把下面的函数加入.bashrc-,让一切变得更轻松些: prepend() { [ -d "$2" ] && eval $1="$2':'$$1" && export $1; }

      像下面这样来使用该函数:
    
        prepend PATH /opt/myapp/bin
        prepend LD_LIBRARY_PATH /opt/myapp/lib
    

    我们定义了名为prepend()的函数,它首先检查该函数第二个参数所指定的目录是否存在。 如果存在,eval表达式将第一个参数所指定的变量值设置成第二个参数的值加上“:”(路径分隔 符),随后再跟上首个参数的原始值。

    不过,有一点需要留意。在进行添加时,如果变量为空,则会在末尾留下一个“:”。要解决 这个问题,可以将该函数再进行一些修改:

    prepend() { [ -d "$2" ] && eval $1="$2${$1:+':'$$1}" && export $1 ; }
    

    通过这次修改,在追加环境变量时,当且仅当旧值存在,才会增加

  • 相关阅读:
    Latex (1)
    linux/unix command
    函数类型和函数指针类型(摘自 linux c编程一站式学习)
    emacs 剪切板
    Centos 常见问题汇总
    makefile(摘自linux_c编程一站式学习)
    [转]DIV布局之三行三列之高度自适应
    ASP.Net新手项目经验谈
    获取中文首字母的方法
    还是不会伪装
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/9466100.html
Copyright © 2011-2022 走看看