因此,我可以使用以下命令从命令行“在白天或夜晚模式下的办公室电话”查询FreePBX:
rasterisk -x "database get DAYNIGHT C0"
然后我得到回应:
Value: NIGHT
或Value: DAY
。
然后,我希望能够将此作为脚本来调用,并且如果响应的值为Value:DAY,则该脚本返回0;如果响应的值为Value:NIGHT,则返回1。
有什么想法我将如何去做吗?!
谢谢!
这是与Home Assistant集成的,所以Home Assistant知道我的办公室PABX的状态
switch:
- platform: command_line
switches:
kitchen_light:
command_on: switch_command on kitchen
command_off: switch_command off kitchen
command_state: Returning a result code 0 will indicate that the switch is on.
答案 0 :(得分:0)
先提取值,然后有条件地echo
提取所需的内容。
resp="Value: DAY" # load this variable with the response string
val="${resp#*: }" # remove the prefix
if [[ "$val" == DAY ]]; then
echo 0
elif [[ "$val" == NIGHT ]]; then
echo 1
else
echo Invalid # to handle unexpected responses
fi
您可以在单行中写条件,
[[ "$val" == DAY ]] && echo 0 || { [[ "$val" == NIGHT ]] && echo 1 || echo Invalid; }
有关Bash
字符串操作的更多信息,请参见Advanced Bash-Scripting Guide。