未能从bash脚本中获取~/.bashrc



在我的脚本中,我试图获取两个文件来获取变量。

但是它没有得到~/.bashrc中定义的变量。

OS: Ubuntu Desktop 20.04.2 LTS
$ cat debug.sh
#!/usr/bin/env bash
cat > ~/env.sh << EOF
VAR1="123"
EOF
echo "VAR2=456" >> ~/.bashrc
source ~/env.sh
source ~/.bashrc
set -u
echo ${VAR1}
echo ${VAR2}
$ ./debug.sh
123
./debug.sh: line 14: VAR2: unbound variable

在ubuntu版本中,.bashrc会检查它是否以交互方式运行,如果不是,它将什么都不做。非交互式意味着您在另一个shell中调用它,您可以在.bashrc.中注释掉以下行

# If not running interactively, don't do anything

case $- in
*i*) ;;
*) return;;
esac

相关内容

  • 没有找到相关文章

最新更新