zoukankan      html  css  js  c++  java
  • 2.8 补充:export

    linux export 的作用
     
    功能说明:设置或显示环境变量。
     
    语  法:export [-fnp][变量名称]=[变量设置值]
     
    补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
     
    参  数:
     -f  代表[变量名称]中为函数名称。
     -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
     -p  列出所有的shell赋予程序的环境变量。
     
     
    shell与export命令
     
    用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一 个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来 说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。
     
    在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内 的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。
     
    [例]在本例中,变量myfile是在dispfile脚本程序中定义的。然后用export命令将变量myfile输出至任何子shell,例如当执行printfile脚本程序时产生的子shell。
     
    dispfile脚本程序清单:
     
    /**************begin dispfile**************/
     
    myfile=”List”
     
    export myfile
     
    echo “Displaying $myfile”
     
    pr –t –n $myfile
     
    printfile
     
    /**************end dispfile***************/
     
     
     
    printfile脚本程序清单:
     
    /**************begin printfile**************/
     
    echo “Printing $myfile”
     
    lpr $myfile&
     
    /**************end printfile**************/
     
    $dispfile
     
    Displaying List
     
    1 screen
     
    2 modem
     
    3 paper
     
    Printing List
     
    $
     
     
     
    1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
    2、一个shell中的系统环境变量才会被复制到子 shell中(用export定义的变量);
    3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失 (并不能返回到父shell中)。
    4、不用export定义的变量只对该shell有效,对子shell也是无效的。
     
     

     
    在Linux里设置环境变量的方法(export PATH)
    1、直接用export命令:
    #exportPATH=$PATH:/opt/au1200_rm/build_tools/bin
     
    2、修改profile文件:
    #vi /etc/profile
    在里面加入:
    export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
     
    3. 修改.bashrc文件:
    # vi /root/.bashrc
    在里面加入:
    export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
     
    后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:# echo $PATH
     
     
    -----------------------------------------------------------------------------------------------------------------------
     
     “/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。
     
      如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。有两个文件可 选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下 的“.bash_profile”只对这个用户有效。
     
      “PATH=$PATH:路径1:路径2:...:路径n”,意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所 有路径。当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。那个“$PATH”表示原先设定的路径 仍然有效,注意不要漏掉。某些软件可能还有“PATH”以外类型的环境变量需要添加,但方法与此相同,并且也需要注意“$”。
     
      注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。
     
      格式如下():
     
      # 软件名-版本号
     
      PATH=$PATH:路径1:路径2:...:路径n
     
      其他环境变量=$其他环境变量:...
     
      在“profile”和“.bash_profile”中,“#”是注释符号,写在这里除了视觉分隔外没有任何效果。
     
      设置完毕,注销并重新登录,设置就生效了。如果不注销,直接在shell里执行这些语句,也能生效,但是作用范围只限于执行了这些语句的shell。
     
      相关的环境变量生效后,就不必老跑到软件的可执行文件目录里去操作了。
  • 相关阅读:
    学习总结:CSS(二)块级与行级元素特性、盒模型、层模型、BUG与BFC、浮动模型
    学习总结:CSS(一)定义方式、选择器、选择器权重
    html基础知识总结
    js学习总结:DOM节点二(dom基本操作)
    Javascript的作用域和闭包(一)
    js学习总结:DOM节点一(选择器,节点类型)
    jQuery源码解析对象实例化与jQuery原型及整体构建模型分析(一)
    正则表达式基于JavaScript的入门详解
    JavaScript深度克隆(递归)
    电子警察【思想】
  • 原文地址:https://www.cnblogs.com/avention/p/10237718.html
Copyright © 2011-2022 走看看