乐趣区

关于linux:Shell脚本在当前终端添加环境变量的正确姿势

  • 在 Linux 中咱们常常须要设置一些环境变量,设置环境变量的形式有很多,有些是对以后用户无效的,有些是对所有用户无效的,有些是永恒的。很多时候咱们会有这样的需要,只有在以后终端中让设置的环境变量失效,这样退出该终端后不影响其余程序的运行。
  • 个别能够通过 export 命令来设置环境编写,比方设置动静库加载门路 export LD_LIBRARY_PATH=./lib。
  • 如果须要配置的环境变量很多,或者每次做某件工作前都得配置这些环境变量,这时通过手动输出命令的形式就很不不便了,这时就须要 shell 脚本退场。
  • 咱们能够将配置的命令写到 shell 脚本中,这样只用执行一下脚本就能实现工作了,程序员的准则就是能用脚本做的事件绝不入手。
  • 写好脚本 set_env.sh 后,咱们欢欣鼓舞的在以后终端中执行./set_env.sh,却会发现设置并没有失效,用 export 命令查看也没有看到新的配置。
  • 要害起因就在于通过./set_env.sh 这种形式执行一个脚本文件其实脚本中的命令是在子 shell 中运行的,执行的后果只对子 shell 无效,并不会在父 shell 中失效。
  • 这种状况下正确的姿态就是应用 source set_env.sh,这样设置的环境变量就会在以后终端中失效。
  • source 命令的作用是在以后 bash 终端下读取并执行 shell 文件中的命令。
  • 更简略的命令是. set_env.sh,点命令 (.) 和 source 是等效的。
退出移动版