关于函数
函数的写法
函数定义的形式是
或
使用关键字 显示定义的函数为 public 的函数,可以供 外部脚本以 的形式调用
未使用关键字 显示定义的函数为 privat 的函数, 仅供本脚本内部调用,注意这种privat是人为规定的,并不是shell的语法,不推荐以 的形式调用,注意是不推荐而不是不能。
本shell规约这样做的目的就在于使脚本具有一定的封装性,看到 修饰的就知道这个函数能被外部调用, 没有被修饰的函数就仅供内部调用。你就知道如果你修改了改函数的影响范围. 如果是 被function 修饰的函数, 修改后可能影响到外部调用他的脚本, 而修改未被function修饰的函数的时候,仅仅影响本文件中其他函数。
如 core.sh 脚本内容如下是
则我可以使用 的形式调用 函数,但就不推荐使用 的形式使用 和 函数,注意是不推荐不是不能。
如何使用脚本单独调用函数中的某个函数
使用如上的框架,只需要在 两个 之间写函数,就可以使用 的形式调用函数了。
使用 或者 就可以查看这个脚本中的函数说明了。
如果使用Intellij IDEA 也会提示
在函数内部首先使用有意义的变量名接受参数,然后在使用这些变量进行操作,禁止直接操作1,
1,
2 等,除非这些变量只用一次
函数的注释
函数类型的概念是从函数编程语言中的概念偷过来的,shell函数的函数类型指的是函数的输入到函数的输入的映射关系
main函数的函数类型是 []
参数的描述是从 Scala 语言中偷过来, 先是参数名称 然后是参数类型 中间用:分隔
对于main函数的注释来说, 顶格写,后面紧跟一个空格,其实这样写是遵循的markdown的语法, 后面再跟一个空格,然后是 []
对于log_info 也是一样 不过 最后的函数类型是 []
关于函数的返回值,我理解的函数的返回值有两种形式,一种是显示的return一种是隐式的echo
以下是几种常见的写法
领取专属 10元无门槛券
私享最新 技术干货