• aix下shell读取脚本文件并逐行执行


    我们很多时候需要将一个大功能的shell脚本分在不同的文件里,这样能起到条理清晰,多次复用的好处。

    但是有一个问题不得不提出来,就是单个shell里面设置的环境变量在引用者里面是无效的。

    举例说明:

    •  a.sh的内容,我们在a中执行b
    #!/usr/bin/sh  
    b.sh  
    echo $test_a  
    • b.sh的内容,我们设置了一个环境变量,或者说变量。
    #!/usr/bin/sh  
    export test_a=ok; 
    

      

    • 结果如下:
    [osstest:/oradata/olcomtest$]a.sh  
    ok  
      
    [osstest:/oradata/olcomtest$]  
    

      

    可见b中可以输出了正常的值,而a中则无法引用,这是shell的本有的特点。

    但是我们如何能达到一个环境变量设置的文件多次使用呢。

    答案是:我们将b.sh中的文件内容在a中逐行执行, 注意如果b中存在多行一个单位的脚本则无效了。

    例子如下:

    #!/usr/bin/sh  
    ##定义配置文件的存放目录  
    envFile=./setenv.sh;  
    echo "设置配置文件中的配置,配置文件为:${envFile}";  
    sleep 2;  
    while read line  
      do eval $line;  
        echo $line;  
      done < $envFile;  
     echo "环境变量设置完成,5秒后将启动程序";  
     sleep 1;  
      echo "5";  
     sleep 1;  
      echo "4";  
     sleep 1;  
      echo "3";  
     sleep 1;  
      echo "2";  
     sleep 1;  
      echo "1";  
    ##启动程序  
    ./NEA035 NEA035  

    这样我们的NEA035程序就能使用setenv.sh中的环境变量了。

    https://www.iteye.com/blog/xuelianbobo-2098221

  • 相关阅读:
    day09
    day8
    day 7
    day 6
    PYTHON 学习
    day 5 作业
    day04作业
    Day03作业及默写
    python 2020 day4
    (copy)python操作excel
  • 原文地址:https://www.cnblogs.com/wutou/p/15203878.html
Copyright © 2020-2023  润新知