从所有会话调用 Bash 函数的正确方法

从所有会话调用 Bash 函数的正确方法

我将 Ubuntu 与 Bash 结合使用,并且有一个文件托管有 5 个函数的脚本。

有时我想直接从 CLI 调用这些函数中的某些函数(但不是全部)。

我可以说这很像用 an 执行文件alias,但在这种情况下,我的目标是一个特定的函数之内一个文件,而不是一个文件本身。


这样做的正确方法是什么?

我想过从我的用户那里获取该文件"$HOME"/.bashrc,但这会执行具有所有功能的整个文件,我完全不希望这样。

答案1

我获取文件的方法"$HOME"/.bashrc很好,但我错过了这一点:

bashrc我首先开始使用普通 JavaScript 进行编程,并且当前会话中没有诸如 shell 会话、文件和源之类的东西(以某种方式仅影响此会话或此会话以及一个或多个其他会话)。

在 Bash 中,我应该做的是创建包含函数但不调用的文件,然后获取它(在当前会话中执行它)。我不应该在文件中调用它们,因为这样在获取文件时就会调用所有它们。

鉴于它源自我的用户bashrc文件,每次我移动到另一个会话时,该文件也会在该会话中为我重新获取来源,并且我也可以在那里调用常规函数。


在这个 Bash 问题上用普通的 JavaScript 范式思考是阻碍我直接找到答案的原因。

相关内容