我正在尝试编写一个简短的函数,以允许我从命令行打开和关闭wemo指示灯。基本上,我有一个命令,如果我键入wemo status
,则在灯光打开时将返回Switch: Lights 1
,或者在灯光熄灭时返回0。我想编写一个fish函数,从本质上讲,我可以切换它们:
function lights --description 'Toggle lights'
if contains (wemo status) "Lights 1"
wemo switch "Lights" off
else
wemo switch "Lights" on
end
end
虽然这不起作用。我认为原谅可能是文字替换?任何人都知道如何在Fish中测试一个字符串是否包含另一个字符串?
最佳答案
所以我最终用以下方法解决了这个问题:
# Toggle lights
function lights --description "Toggle Wemo Lights"
set -l wemo (wemo status)
switch $wemo
case '*1'
wemo switch "Lights" off
case '*0'
wemo switch "Lights" on
end
end
关于terminal - 如何测试命令结果是否在fish shell中包含字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21489086/