如何测试命令的结果是否包含鱼壳中的字符串?

Bil*_*lly 5 terminal fish osx-mountain-lion

我正在尝试编写一个简短的函数,以允许我从命令行打开和关闭 wemo 灯。基本上我有一个命令,如果我输入wemo status将返回Switch: Lights 1灯是否打开或 0 如果灯关闭。我想编写一个基本上可以让我切换它们的鱼函数:

function lights --description 'Toggle lights'
    if contains (wemo status) "Lights 1"
        wemo switch "Lights" off
    else
        wemo switch "Lights" on
    end
end
Run Code Online (Sandbox Code Playgroud)

虽然这不起作用。我在想父母可能会进行文本替换?任何人都知道如何测试一个字符串是否包含 Fish 中的另一个字符串?

Bil*_*lly 4

所以我最终用以下方法解决了这个问题:

# 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
Run Code Online (Sandbox Code Playgroud)

  • 作为 Fish 的首席开发人员,这是我的建议。如果您愿意,您可以删除该变量:`switch (wemo status)`... (2认同)