函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式

Shell中函数退出状态的两种方式

方式1:

默认以最后一条命令返回的退出状态

方式2:

return手动指定

补充:

(1)return 后面命令不会执行

(2)$? 获取状态码

案例:

#!/bin/bash

#shell中函数退出状态的两种方式

#auth:odysee

#定义函数

print1()

{

#打印ls /tmps输出

lll

}

#调用函数print1

print1

#打印函数默认返回的状态码

echo $?

#打印函数输出

echo `print1`

函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式_第1张图片

这里方法内lll命令是我们没有的

所以$?返回值非0

[odysee@kingdom ~]$ lll

-bash: lll: command not found

[odysee@kingdom ~]$ echo $?

127

函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式_第2张图片

执行脚本

[odysee@kingdom shellFiles]$ bash function_1.sh

function_1.sh: line 10: lll: command not found

127

function_1.sh: line 10: lll: command not found

函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式_第3张图片

(2) 使用return 返回特定状态码

#!/bin/bash

#shell中函数退出状态的两种方式

#auth:odysee

#定义函数

print1()

{

#打印ls /tmps输出

lll

return 9

}

#调用函数print1

print1

#打印函数默认返回的状态码

echo $?

#打印函数输出

echo `print1`

函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式_第4张图片

执行脚本

[odysee@kingdom shellFiles]$ bash function_1.sh

function_1.sh: line 10: lll: command not found

9

function_1.sh: line 10: lll: command not found

函数中申请的指针退出函数时_浅谈Shell中函数退出状态的两种方式_第5张图片

测试成功

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

你可能感兴趣的:(函数中申请的指针退出函数时,函数怎么屏蔽其他echo)