shell中获取脚本执行的返回值
时间: 2023-10-23 14:09:51 浏览: 108
在shell脚本中,可以使用特殊变量 `$?` 来获取上一个命令的返回值。返回值通常用来表示命令是否执行成功,0表示成功,非零值表示失败或出错。
以下是一个示例:
```bash
#!/bin/bash
ls /tmp
return_code=$?
if [ $return_code -eq 0 ]; then
echo "ls command executed successfully."
else
echo "ls command failed with return code $return_code."
fi
```
在上面的例子中,`ls /tmp` 命令执行后,返回值会存储在 `return_code` 变量中。然后可以根据返回值进行相应的逻辑处理。
相关问题
shell脚本获取返回值
在shell脚本中,可以通过return关键字或echo关键字来获取函数的返回值。
1. 使用return关键字返回函数值:
```shell
#!/bin/bash
function func1(){
count=0
for cont in {1..3}; do
count=`expr $count + 1`
done
# 函数中使用return返回时,返回值的数据类型必须是数字
return $count
}
# 调用函数并获取返回值
func1
res1=$?
# 判断返回值是否正确
if [[ $res1 == 3 ]]; then
echo "func1() succeeded!"
else
echo "Not a right number!"
fi
```
2. 使用echo关键字返回函数值:
```shell
#!/bin/bash
function func1(){
count=0
for cont in {1..3}; do
count=`expr $count + 1`
done
# 函数中使用echo返回时,可以返回任意类型的值
echo $count
}
# 调用函数并获取返回值
res2=$(func1)
# 判断返回值是否正确
if [[ $res2 == 3 ]]; then
echo "func1() succeeded!"
else
echo "Not a right number!"
fi
```
shell脚本获取函数返回值
要在Shell脚本中获取函数的返回值,可以使用`$?`特殊变量。在函数调用后,可以通过`$?`来获取函数的返回码。一般来说,返回码为0表示函数执行成功,非零值表示出现错误。
下面是一个示例:
```bash
#!/bin/bash
# 定义一个函数,返回当前日期
get_date() {
date "+%Y-%m-%d"
}
# 调用函数并获取返回值
get_date
result=$?
# 打印返回值
echo "函数返回值为: $result"
```
在上面的例子中,`get_date`函数返回当前日期,并将结果保存在`result`变量中。然后通过`echo`语句打印出返回值。
注意:如果函数内部使用了`return`语句来显式地指定返回值,那么通过`$?`获取的将是该指定的返回值。如果函数没有使用`return`语句,那么通过`$?`获取的将是函数最后一条命令的返回码。
阅读全文