gpt4 book ai didi

c - 加载shell脚本的功能而不执行它

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:03 26 4
gpt4 key购买 nike

我有一个 shell 脚本,它执行一些功能,例如制作图像、下载 tar 文件、导出环境变量、下载图像 ...n 任务等。我为每个任务提供了单独的功能。 I 如果我获取 shell 脚本,它将开始一个接一个地运行函数。有没有办法让 shell 无需执行函数就可以使用这些函数。获取 shell 脚本将使该函数对 shell 可用,但它将开始执行它。

实际代码:

     do_task1();
#some logging here
#shell commands
do_task2();
#error checks
#....
# there are lot of such things as well as user defined functions.

获取此文件实际上将开始执行此操作,因为存在对函数的调用。我希望用户定义的函数单独在 shell 提示符下可用。

一种方法是使用 C 风格编码,即具有调用其他函数的 main 函数。每当我希望函数单独在没有 exec 的 shell 中可用时,我就可以单独注释该 main 调用。现在我没有主要功能。

  function main()
{
do_task1();
#add all the commands and functions here.
do_task2();
}
main # I can comment this.

是否有任何其他方式(或一些 shell 命令)单独加载函数?

为什么我需要这个? 这对调试很有用。 如果我想运行这个 shell 脚本的一些功能,我可以直接运行它。

最佳答案

大多数 shell(如 bashzsh )都支持函数。您可以定义函数并任意调用它们。获取具有函数定义的文件将不会执行它们。

关于c - 加载shell脚本的功能而不执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18182257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com