小编Rya*_*win的帖子

zsh - 区分源 ~/.zshrc 和最初读取 .zshrc 的 shell

是否有我可以测试的命令或环境变量,~/.zshrc它可以区分我何时运行source ~/.zshrc更新我的配置和 shell~/.zshrc在初始化时读取?

到目前为止,我的解决方案是在最后设置一个变量~/.zshrc并在随后的执行中测试该变量,但我很好奇是否有一种更简洁的方法可以直接从系统或环境中获取此信息,而不是将其组合在一起感觉很脆弱的方式......

# somewhere in ~/.zshrc

if [[ -n $CONSOLE_ALREADY_RUNNING ]]; then
    echo "we've alredy loaded ~/.zshrc"
    echo "so you must be sourcing it"
fi

# many more lines of ~/.zshrc commands

# last line of ~/.zshrc
export CONSOLE_ALREADY_RUNNING=1
Run Code Online (Sandbox Code Playgroud)

似乎应该有一些更清晰的方法来测试我是否只是通过重新加载source /.zshrc或者是否.zshrc正在为zsh刚刚加载到内存中的新实例执行。

linux zsh shell environment-variables dotfiles

5
推荐指数
1
解决办法
703
查看次数

标签 统计

dotfiles ×1

environment-variables ×1

linux ×1

shell ×1

zsh ×1