如何在
中返回大于255的数字function returnnumber(){
x=256
return $x
}
returnnumber
echo "value: $?"
我想输入256和256返回
但256返回0。
答案 0 :(得分:6)
你不能! Shell函数并不真正返回任何东西,它们只是以退出状态退出,就像其他UNIX命令一样。与其他UNIX命令一样,它们的exit status必须是无符号字节。
如果要存储命令的输出(包括函数),可以按常规方式捕获其标准输出。
d() {
echo 'hi'
}
x=$(d)
echo "$x"
hi
答案 1 :(得分:5)
在bash中,return
没有达到您对其他编程语言的期望:
简单命令的返回值是退出状态,或者128+ n 该命令由信号 n 终止。
此代码可以使用:
#!/bin/bash
function returnnumber(){
echo $1
}
returnnumber 256