如果 shell 不是交互式的,我有两个语句要返回~/.bashrc
,可能来自两个 Ubuntu 版本,但我无法重建哪个更新(我假设因此更好)并且我对不同方法的效果感兴趣:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
对比
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
根据Bash Hackers Wiki,最可靠的方法是检查
i
变量中字母的存在$-
(您的第二种方法)。有更简洁的方法来实现此操作,如下所示:
有关更多信息,请在 Unix&Linux StackExchange 社区上查看此答案。