![从所有会话调用 Bash 函数的正确方法](https://linux22.com/image/127759/%E4%BB%8E%E6%89%80%E6%9C%89%E4%BC%9A%E8%AF%9D%E8%B0%83%E7%94%A8%20Bash%20%E5%87%BD%E6%95%B0%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95.png)
我将 Ubuntu 与 Bash 结合使用,并且有一个文件托管有 5 个函数的脚本。
有时我想直接从 CLI 调用这些函数中的某些函数(但不是全部)。
我可以说这很像用 an 执行文件alias
,但在这种情况下,我的目标是一个特定的函数之内一个文件,而不是一个文件本身。
这样做的正确方法是什么?
我想过从我的用户那里获取该文件"$HOME"/.bashrc
,但这会执行具有所有功能的整个文件,我完全不希望这样。
答案1
我获取文件的方法"$HOME"/.bashrc
很好,但我错过了这一点:
bashrc
我首先开始使用普通 JavaScript 进行编程,并且当前会话中没有诸如 shell 会话、文件和源之类的东西(以某种方式仅影响此会话或此会话以及一个或多个其他会话)。
在 Bash 中,我应该做的是创建包含函数但不调用的文件,然后获取它(在当前会话中执行它)。我不应该在文件中调用它们,因为这样在获取文件时就会调用所有它们。
鉴于它源自我的用户bashrc
文件,每次我移动到另一个会话时,该文件也会在该会话中为我重新获取来源,并且我也可以在那里调用常规函数。
在这个 Bash 问题上用普通的 JavaScript 范式思考是阻碍我直接找到答案的原因。