我正在尝试为非交互式非登录 shell 设置环境变量。我知道 bash 在执行命令之前读取 ~/.bashrc 的内容。在脚本的开头有一个部分:
*# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac*
Run Code Online (Sandbox Code Playgroud)
所以我想如果我在它上面添加一些东西,无论shell是否交互都会生效:
export VAR=something
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
Run Code Online (Sandbox Code Playgroud)
但是它不起作用:(。我想避免使用 $BASH_ENV 因为它弄乱了我的 xkb 设置。我重新映射了 /usr/share/X11/xkb/symbols/pc 中的一些键。如果我设置了 $BASH_ENV,它只会加载默认的键盘映射。
Ubuntu 解决方案:在 中设置变量/etc/environment
,它适用于所有用户和所有类型的 shell。
归档时间: |
|
查看次数: |
7867 次 |
最近记录: |