今天在做第一个linux scripts的实验时,产生了一个疑惑,为什么在scripts里面export出了修改后的PATH变量,在scripts执行之后却发现此时的PATH值并没有发生改变,
源代码如下:
    PATH=$PATH:/home/aaa/scripts
    export scripts
    echo -e "hello word"
    exit 0
在该程序执行之后,执行echo $PATH 发现PATH的值并没有发生改变,心想可能是scripts中修改的环境变量只在scripts执行时有效,在网上查找一番资料后,发现有人说是
父进程修改的环境变量子进程可以用,子进程设置的环境变量父进程不可以用,于是做了如下的实验
   PATH=$PATH:/home/aaa/scripts
   export PATH
   echo $PATH
   echo -e "hello world"
   bash
   echo -e "hello word"
   echo $PATH
   结果发现命令执行到bash后就没有执行了(echo $?=0),看来父进程和子进程的说法在scripts里面似乎解释不通,于是心想着有没有专注讲scripts实现原理的一些书籍,
希望大家可以推荐。