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

时间:2013-08-12 08:14:56

标签: c linux shell

我有一个shell脚本,它可以执行一些功能,例如制作图像,下载tar文件,导出环境变量,下载图像...... n任务等。我为每项任务分别设置了各种功能。如果我获取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中可用时,我就可以单独评论该主调用。现在我没有主要功能。

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

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

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

1 个答案:

答案 0 :(得分:2)

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