Linux下Bash脚本无法设置环境路径问题求助
解决Bash脚本设置环境变量不生效的问题
直接运行脚本时环境变量不生效,核心原因是:用./script.sh这类方式运行脚本,系统会启动一个子Bash进程执行脚本,脚本里的export命令只对这个子进程及其子进程有效,而你当前的终端shell(父进程)根本读取不到这些变量。但手动输入命令时,是在当前shell进程里执行,变量直接写入当前环境,所以能生效。
给你两个可行的解决办法:
用source命令执行脚本
不要直接运行脚本,改用以下命令执行:source ./your_script.sh # 或者简写为 . ./your_script.sh这种方式会让脚本在当前shell进程里执行,所有环境变量设置都会直接作用于当前终端环境。
将变量配置写入shell启动文件
如果希望每次打开终端都自动加载这些环境变量,可以把脚本里的核心配置(去掉#!/bin/bash那一行)追加到~/.bashrc或者~/.bash_profile文件中,之后运行source ~/.bashrc(对应你修改的文件)让配置立即生效。
验证方法:执行完上述操作后,在终端输入echo $PATH或者echo $ARMGCC_INSTALL_PATH,就能看到变量已经正确设置了。
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

