Shell运行脚本中指定的功能

电脑杂谈  发布时间:2020-05-27 08:03:06  来源:网络整理

windows shell脚本学习指南_shell脚本 函数_shell脚本 里调用shell

shell脚本中的函数规定必须首先定义它们,然后再使用它们,并且违规将报告诸如空指针之类的问题.

因为解释并执行了shell脚本,即从上到下翻译. 如果在定义函数后在内部调用函数,则shell解释器将报告“ command”shell脚本 函数,因为未找到未加载的函数“. 为什么像Java这样的语言不需要考虑函数的顺序?因为像Java是在执行之前进行编译的,在编译阶段,编译器将汇编函数调用,只需要转到相应的堆栈即可找到相应的函数.

例如test-function.sh

以上脚本的执行将打印出来

shell脚本 函数_windows shell脚本学习指南_shell脚本 里调用shell

因为执行时,解析器从上到下加载函数f1,f2,main,然后执行main

我们发现f1 f2 main已加载shell脚本 函数,因此可以顺利执行

此函数从上到下进行解析. 第一行发现要执行main. main不是命令. 查找是否在main之前有一个称为main的函数,但结果没有错误.

在上面,首先加载f1函数,然后运行f1函数,但是f1函数在运行时会调用f2函数,但未定义f2函数,因此会报告错误

shell脚本 里调用shell_shell脚本 函数_windows shell脚本学习指南

请注意,这里报告的错误只是为了将标准错误输出到控制台,但是以下命令仍将立即执行,并且不会在发生错误的地方被中断.

那么,如何在不考虑顺序的情况下像Java一样编写它?另外,我想解决两个问题.

默认情况下,让脚本以main函数开头

您可以指定执行脚本中定义的功能

shell脚本 里调用shell_windows shell脚本学习指南_shell脚本 函数

对于问题1,默认情况下让脚本以main函数开头

例如,Java,当我运行Java类时,该Java类中必须有一个main函数,并且它可以接收数组作为参数.

让我们来看看我的框架的写作. 最后只需要引入一个文件

此功能的功能是在执行功能时根据输入参数执行响应功能

shell脚本 函数_shell脚本 里调用shell_windows shell脚本学习指南

例如

sh test-function.sh main指定要执行主要功能

Sh test-function.sh默认的主功能开始时不带参数. 如果没有主要功能,则会报告错误. 解决了主功能启动的问题. 启动范例类似于java xxx.

此外,为了解决函数不关心定义的顺序的问题,我们要做的就是在解析完所有函数后执行,因此我们需要放置

source ./../ Utils / base_end.sh

最后.

此外,execute用于解决指定功能的执行. 此解决方案还解决了带有参数的功能问题


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-223792-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...