如何定义在任何脚本中使用的 bash 函数?
我想定义一次并在任何地方使用它。
I'd like to define it once and use it anywhere.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想定义一次并在任何地方使用它。
I'd like to define it once and use it anywhere.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
在 bash 中,您可以从脚本运行
source
(使用包含函数的文件作为参数)并简单地调用该函数。当您在.bashrc
文件中定义函数时,就会隐式发生这种情况。In bash, you can run
source
from your script (with the file containing your functions as the argument) and simply call the function. This is what happens implicitly when you define the function in your.bashrc
file.虽然我基本上同意@eduffy,但我通常将此类函数放在用户主目录中的文件中,或者如果脚本在用户路径中的目录中的用户之间共享。然后,我将在 .bash_profile 中获取文件
(. ~/FILE 或 . $(type -p FILE))
。这允许您在必要时“重新获取”文件(即,您更改其中的某些内容),而无需重新登录等。While I basically agree with @eduffy, I typically put such functions in a file either in the user's home directory or if the scripts are shared between users in a directory in the user's path. I would then source the file
(. ~/FILE or . $(type -p FILE))
in the .bash_profile. This allows you to 're-source' the file if necessary (i.e., you change something in it) w/o having to re-login, etc.将您的“通用”函数放在一个单独的脚本中(我们称之为“a”):
接下来,将其“导入”到另一个脚本中(比如“b”):
运行
bash b
将输出“hi ”Place your "common" function in a separate script (let's call it "a"):
Next, "import" it into another script (say, "b"):
Running
bash b
will output "hi"将其放入您的
~/.bashrc
或~/.bash_profile
中。Put it in your
~/.bashrc
or~/.bash_profile
.