shell函数的返回值,仅支持return返回整数,尝试返回字符串:
#!/bin/sh
get_str()
{
return "string"
}
get_str
echo $?
输出如下:
./test.sh: line 5: return: string: numeric argument required
255
可以看到已经提示要求return 整数类型,真实返回值是255。
解决办法:
#!/bin/sh
get_str()
{
echo "string"
}
echo `get_str` #写法一
echo $(get_str) #写法二
两种写法的原理一样的,将get_str当成命令执行,然后获取其标准输出。