问题描述
我要回了很多bash脚本编程在我的工作,我很生疏。
有没有办法从函数返回一个本地字符串值,而不使其成为全球或使用回声?我想要的功能,能够通过屏幕与用户交互,同时也传递一个返回值的变量,而不像出口RETURN_VALUE =返回字符串
。 printf命令看起来酷似回声响应。
例如:
函数MYFUNC(){
[somecommand]这只会出现在屏幕上
回声返回字符串
}#RETURN_VALUE = $(MYFUNC)
这只会出现在屏幕上#$回声RETURN_VALUE
返回字符串
没有。击不返回比从功能的数字退出状态的任何其他。你的选择是:
- 将函数内非本地变量。
- 使用
回声
,的printf
或类似提供输出。该输出然后可以在函数外使用命令替换分配。
I'm returning to a lot of Bash scripting at my work, and I'm rusty.
Is there a way to return a local value string from a function without making it global or using echo? I want the function to be able to interact with the user via screen, but also pass a return value to a variable without something like export return_value="return string"
. The printf command seems to respond exactly like echo.
For example:
function myfunc() {
[somecommand] "This appears only on the screen"
echo "Return string"
}
# return_value=$(myfunc)
This appears only on the screen
# echo $return_value
Return string
No. Bash doesn't return anything other than a numeric exit status from a function. Your choices are:
- Set a non-local variable inside the function.
- Use
echo
,printf
, or similar to provide output. That output can then be assigned outside the function using command substitution.
这篇关于可一个字符串从猛砸功能,而无需使用回声或全局变量被退回?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!