08-shell-函数

简介: 08-shell-函数

函数格式

  • 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数
  • 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值(0-255)

格式

1. [ function ] funname [()]
2. 
3. {
4. 
5.     action;
6. 
7.     [return int;]
8. 
9. }

 示例

1. #!/bin/bash
2. 
3. # 定义函数
4. function test(){
5. echo "这是函数内部打印的!"
6. }
7. 
8. 
9. # 调用函数
10. test
11. 
12. 
13. # 可省略function
14. test1(){
15. 
16. echo "这也是函数内部打印的呀!!"
17. }
18. 
19. 
20. test1
21. 
22. 
23. # 带返回值
24. function addNum(){
25. 
26.     a=1
27.     b=2
28.     c=$((a + b))
29. echo "a+b=$((a + b))"
30. 
31. return $c
32. 
33. }
34. 
35. addNum
36. 
37. # 获取上个命令的执行结果,无返回值 默认为0 表示执行成功,非0表示 上个命令出错
38. echo "a+b=$?"

函数传参

  • 通过 $n 的形式来获取参数的值
  • $10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数
1. #!/bin/bash
2. 
3. 
4. # 函数传参
5. funWithParam(){
6. echo "第一个参数为 $1 !"
7. echo "第二个参数为 $2 !"
8. echo "第十个参数为 $10 !"
9. echo "第十个参数为 ${10} !"
10. echo "第十一个参数为 ${11} !"
11. echo "参数总数有 $# 个!"
12. echo "作为一个字符串输出所有参数 $* !"
13. }
14. funWithParam 1 2 3 4 5 6 7 8 9 34 73
参数处理 说明
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。


相关文章
|
12天前
|
Shell
Shell函数
Shell函数
28 1
|
6月前
|
运维 Shell C语言
运维(14)- shell函数
运维(14)- shell函数
29 0
|
7月前
|
Unix Shell Linux
|
8月前
|
Shell
shell编程之函数
shell编程之函数
47 1
|
12天前
|
Shell 应用服务中间件 nginx
shell学习(七) 【shell 函数】
shell学习(七) 【shell 函数】
13 1
|
12天前
|
人工智能 机器人 Shell
【shell】shell函数操作(有参、无参、有返回值、无返回值)
【shell】shell函数操作(有参、无参、有返回值、无返回值)
|
5月前
|
存储 Shell
shell函数介绍
shell函数介绍
33 2
|
12天前
|
Shell Linux C语言
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
Linux中执行Shell的函数(popen,system,exec)介绍:分享一些常用的执行Shell的函数及其相关编程技巧和经验
39 0
|
12天前
|
存储 安全 Unix
利用Shell指令通过函数获取用户UID
利用Shell指令通过函数获取用户UID