环境变量的设置,针对不同的 shell 和使用场景各有不同。Arch Wiki 有非常好的描述。KDE Plasma 也有自己的 文档。
查看
打开一个终端,在里面输入 envs
/ printenvs
,可以看到目前终端环境中的环境变量。
运行中的进程的环境变量会存在 /proc/$PID/environ
文件中,使用 sed 查看:
sed 's:\x0:\n:g' /proc/$PID/environ
设置
针对 logging / non-logging shell,以及 interactive / non-interactive shell 的设置:Environment Variables about Login / Non-Login Shell。
如果某些环境变量需要被 GUI 程序使用(比如将 PUB_HOSTED_URL
传给 Android Studio),你可以在相应的桌面环境规定的地方写入环境变量。比如 Plasma 5 会读取 $HOME/.config/plasma-workspace/env/
下的所有 .sh
文件,因此可以在其下创建 flutter.sh
,写入:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
如果终端也想用这些变量,在终端的 RC 文件中(如 oh-my-zsh 的 ~/.zshrc.local
)中 source
之:
source $HOME/.config/plasma-workspace/env/flutter.sh