Bash shell脚本中大于255的数字

5
如何在IT技术中返回大于255的数字
function returnnumber(){
    x=256
    return $x
}

returnnumber
echo "value: $?"

我想输入256并返回256

但是256返回0。

2个回答

7
你做不到!Shell函数实际上并不会“返回”任何东西,它们只是像其他UNIX命令一样以退出状态退出。并且像其他UNIX命令一样,它们的退出状态必须是一个无符号字节。
如果你想存储命令的输出(包括函数),你可以按照通常的方式捕获其标准输出。
d() {
    echo 'hi'
}
x=$(d)
echo "$x"
hi

这里是Wooledge关于从命令中获取值的维基


5
在bash中,return不会像其他编程语言那样执行预期的操作:
引用: 简单命令的返回值是其退出状态,如果命令被信号n终止,则为128+ n。
这段代码将起作用:
#!/bin/bash

function returnnumber(){
    echo $1
}

returnnumber 256

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接