bash shell脚本中的数字大于255

时间:2013-01-18 00:40:12

标签: bash shell

如何在

中返回大于255的数字
function returnnumber(){
    x=256
    return $x
}

returnnumber
echo "value: $?"

我想输入256和256返回

但256返回0。

2 个答案:

答案 0 :(得分:6)

你不能! Shell函数并不真正返回任何东西,它们只是以退出状态退出,就像其他UNIX命令一样。与其他UNIX命令一样,它们的exit status必须是无符号字节。

如果要存储命令的输出(包括函数),可以按常规方式捕获其标准输出。

d() {
    echo 'hi'
}
x=$(d)
echo "$x"
hi

这是Wooledge's wiki on getting values from commands

答案 1 :(得分:5)

在bash中,return没有达到您对其他编程语言的期望:

  

简单命令的返回值是退出状态,或者128+ n   该命令由信号 n 终止。

此代码可以使用:

#!/bin/bash

function returnnumber(){
    echo $1
}

returnnumber 256