13_Shell系统函数和自定义函数
一、系统函数
basename 获取文件名
#!/bin/bash#basename 相对路径文件名
basename ./1.sh#basename 绝对路径文件名
basename /tmp/1.sh#basename 去除文件后缀名
basename /tmp/1.sh .sh
dirname 获取文件所在目录名
#!/bin/bash#dirname 相对路径文件名
dirname ./1.sh#dirname 绝对路径文件名
dirname /tmp/1.sh
二、自定义函数
自定义函数:
1、function 关键字可有可无
2、return 关键字可有可无,有只能返回数字
######函数定义#######标准版
function 函数名()
{命令return 返回值
}#简洁版
函数名()
{命令
}######函数调用#######无参调用
函数名()#有参调用
函数名() 参数1 参数2 ... 参数n
无参函数
#无参无返回值
demo1()
{echo "无参无返回值函数打印"
}demo1
#无参有返回值
demo2()
{result="无参有返回值函数返回"
}demo2
echo "函数执行结果:$?"
echo "函数返回变量: $result"
有参函数
参数处理 | 说明 |
---|---|
$n | $1-数1 $2-参数2 ${10}-参数10 |
$# | 参数个数 |
$* 和 $@ | 获取所有参数(略有不同) |
#!/bin/bashdemo3()
{echo "参数1:$1"echo "参数2:$2"echo "参数10:${10}"echo "参数总个数:$#"echo "所有参数:$*"
}demo3 1 2 3 4 5 6 7 8 9 10 11