如何返回大于 255 的数字
function returnnumber(){
x=256
return $x
}
returnnumber
echo "value: $?"
我想输入 256 和 256 返回
但是 256 返回 0。
你不能!Shell 函数实际上并不返回任何内容,它们只是以退出状态退出,就像其他 UNIX 命令一样。和其他 UNIX 命令一样,它们的退出状态必须是无符号字节。
如果要存储命令的输出(包括函数),可以按通常的方式捕获其标准输出。
d() {
echo 'hi'
}
x=$(d)
echo "$x"
hi
在 bash 中,return
不会像您期望的其他编程语言那样做:
简单命令的返回值是它的退出状态,如果命令被信号 n 终止,则返回128+ n。
此代码将起作用:
#!/bin/bash
function returnnumber(){
echo $1
}
returnnumber 256