shell函数的定义规则,函数名,括号,花括号
函数名(){
###要执行的命令
}
如下代码所示先定义一个函数块输出hello world 然后进行调用
sayhello()
{
echo "hello world"
}
sayhello
备注:函数中使用的变量是local 局部变量
shell函数实践
函数分为二部分,1.定义函数,2.执行函数
函数执行的场景一
函数执行场景:在同一个shell文件进行定义函数和执行函数
下面定义了一个名字叫test的shell函数,然后函数中执行一个输出命令和将一段字符串写入到test.txt中,然后再进行return 0,下面再进行调用
如下图所示执行function脚本命令,然后打印了信息,在该目录下创建了test.txt 文件,然后查看test.txt 内容发现test.txt的内容为hello world
函数实现场景二
函数执行场景:函数的定义和执行分开在不同的文件进行执行,linux主流的玩法还是基于这种方式
函数只定义在一个shell文件中,只定义不执行
在另外一个shell脚本中进行加载和调用函数
先创建一个shell文件生成一个脚本,只定义不执行
如下图所示创建一个my_function.sh的脚本只定义不执行。
使用source进行加载和调用
source命令详解
source命令称为 ”点命令” 是bash中的一个内部命令
功能:将shell读入指定的shell程序然后依次执行文件中所有的语句
source命令通常用来重新执行刚修改的初始化文件,然后让其生效,而不再需要进行重新登录和注销才能生效。
如下图所示 当创建一个test.sh 脚本里面的内容为A=1,使用sh test.sh进行执行和./test.sh进行执行也是一个样子,使用echo $A 都是为空,然后执行source test.sh,再使用 echo $A 就为有数值。
查看环境变量
下面表示查看环境变量为A ^ 符号表示开头为A的数值
set |grep ^A
exit 命令
exit :退出当天环境变量规范
使用exit命令退出当天shell后,再打开shell窗口使用set查看环境变量发现,set有没有命令。
函数的加载和执行
重新进行source进行加载然后进行执行
现在进行执行函数my_function