获取shell返回值

时间:2025-03-08 20:57:48

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、使用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,不要用它来计算加减法返回。