前端时间学习使用shell函数,调用函数的时候不知道如何把参数带进去,跟其他语言有很大不同,记录一下:
1、函数定义方式
function fname()
{
commands
return
}
或者
fname()
{
commands
return
}
2、函数定义及调用
带参函数调用
#!/bin/sh
# Shell function demo
#脚本名称function1.sh
function funct( )
{
echo "Step 2"
echo $1
echo $2
return
}
echo "Step 1"
funct 接下来应该是第几步? 我知道,答案如下 #函数调用
echo "Step 3"
以上脚本执行结果输出如下:
[root@d8a4ced9-4996-52cb-a93c-d ~]# sh function1.sh
Step 1
Step 2
接下来应该是第几步?
我知道,答案如下
Step 3
[root@d8a4ced9-4996-52cb-a93c-d ~]#
函数导出后的使用(及不带参函数的调用)
函数导出方式:export -f fname;
[root@d8a4ced9-4996-52cb-a93c-d ~]# cat cengjin.sh wushan.sh
#!/bin/bash
function funct( )
{
echo "曾经沧海难为水,除却巫山不是云"
}
funct
export -f funct;
sh ./wushan.sh
source ./wushan.sh
#!/bin/bash
#wushan.sh脚本中调用cengjin.sh脚本导出的funct函数;
funct
运行输出:
root@d8a4ced9-4996-52cb-a93c-d ~]# sh cengjin.sh
曾经沧海难为水,除却巫山不是云
曾经沧海难为水,除却巫山不是云
曾经沧海难为水,除却巫山不是云
[root@d8a4ced9-4996-52cb-a93c-d ~]#