提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、使用command
- 二、使用function
- 总结
前言
shell获取返回值的方法有多种,这里介绍两种:第一种是直接执行command然后获取返回值;第二种是包装成function并获取返回值。
一、使用command
这种比较简单,也是使用最多的。
#!/bin/bash
str="hello"
echo $str
echo $?
- 1
- 2
- 3
- 4
- 5
shell默认执行正确返回0,echo这句话不会失败,所以结果是0.
二、使用function
这种方法写法也不复杂,只有一个地方需要注意就是返回值如果是integer的类型最大不能超过256
#!/bin/bash
function compare(){
if [ $1 -eq $2 ];then
return 0
else
return 1
else
}
compare 1 2
echo $?
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
这个地方如果你把return改成300,实际返回的是44,也就是300-256.
总结
写法很简单,之前也遇到过坑,就是shell返回值最大256,不要用它来计算加减法返回。