Fish-shell: 如何测试另一个字符串中的一个字符串?

创建于 2013-01-19  ·  4评论  ·  资料来源: fish-shell/fish-shell

说我想回显(uname -a)中是否包含“ Darwin或Linux”,我尝试包含它,但是它不起作用,因为包含测试列表中是否存在单词。

有一个简单的方法吗?

谢谢 !

question

最有用的评论

另一种方式是

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

但是我想这个问题已经回答,所以我将其关闭。

所有4条评论

switch (uname -a | cut -d ' ' -f 1)
  case 'Darwin'
    echo 'do stuff'
  case 'Linux'
    echo 'do other stuff'
end

您还可以使用grep ,特别是如果您想对其中任何一个执行相同的操作。

if uname -a | grep 'Darwin\|Linux' >/dev/null
  echo 'do stuff'
end

谢谢terlar。

嗨,terlar,我认为您的grep版本更好,因为我可以检测到它是否是ubuntu,那么我可以定义一些功能仅在Ubuntu中可用。 更具体。

再次感谢 。

另一种方式是

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

但是我想这个问题已经回答,所以我将其关闭。

此页面是否有帮助?
0 / 5 - 0 等级