【发布时间】:2020-01-29 00:39:10
【问题描述】:
我正在努力将函数的返回值(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,但结果相同。
【问题讨论】:
-
@Cyrus 这是我的复制和粘贴错误。抱歉,已解决!
-
你的函数可以是
screen_exists () { screen -list | grep -q "$1"; }。如果grep找到匹配项,该函数的返回码将为0(成功)。您应该遵循这个约定,而不是返回1表示成功和0表示失败。它将允许您使用if screen_exists "name"之类的功能。
标签: bash shell command-line terminal