【问题标题】:How to know which file sourced a particular file如何知道哪个文件来自特定文件
【发布时间】:2020-07-22 02:51:38
【问题描述】:

Ubuntu 16.04; zsh;哦,我的zsh; KDE

我有很多点文件,例如 .bashrc.commonrc.zshrc 相互采购。假设我想停止采购特定文件.bash_docker。有没有办法知道它来自哪个文件?

我通过手动检查发现了它,但它经常发生......似乎source 没有手册页或帮助选项。

【问题讨论】:

  • .bash_docker开头添加这一行:((${#BASH_SOURCE[@]} > 1)) && echo "I'm sourced from ${BASH_SOURCE[1]}" >> /tmp/bash_docker.log并检查文件/tmp/bash_docker.log
  • 如果您当前的 shell 是 zsh,我怀疑我的建议是否可行。在这种情况下,您应该在zsh 而不是bash 中寻找解决方案。

标签: linux bash dotfiles


【解决方案1】:

尝试在您的目标脚本中打印此内容

echo "This script sourced from : ${BASH_SOURCE[1]}"

以下是感兴趣的 bash 变量以供参考 https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html

【讨论】:

  • 原来我必须使用 bash 而不是 zsh。效果很好!!
猜你喜欢
  • 2016-01-27
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-01
  • 1970-01-01
相关资源
最近更新 更多