bash和source

遇到的问题

Steps:

  1. 将设定环境变量的相关命令写入文件A

    1
    export http_proxy="http://***:***/"
  2. pushA至/bin/

  3. terminal中执行A

Results:

使用env | grep proxy发现上述设定未起效

Reason:

应该使用source A而非sh A。前者是在同一进程,后者是fork出来的子进程,在子进程中设定了环境变量,父进程的并未改变。

参考文献

说说shell脚本中的export 和 source,bash