我正在努力将函数的返回值(0 或 1)存储在变量中。无论我尝试什么, $var 最终都是空的,或者我遇到了错误消息。这是我的具体代码:
function screen_exists() {
if screen -list | grep -q "${1}"; then
return 0
else
return 1
fi
}
VAR=$(screen_exists "${PLAYER_SCREEN_NAME}")
echo ${VAR}
我也试过一个超级简单的函数,它总是返回 0,但结果相同。
$(...)
是用于捕获给定命令的输出的命令替换语法。如果要存储函数的返回值,请使用$?
:
screen_exists() {
screen -list | grep -q "$1"
# implicit here is: return $?
}
screen_exists "${PLAYER_SCREEN_NAME}"
ret=$?
另请注意,1
如果grep
未找到搜索模式并且0
成功,则此函数将返回,这是 shell 实用程序中的标准规范。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句