使用 bash,我想找到操作系统并通知用户。我试过了:

OS='uname -s'
echo "$OS"
if [ "$OS" == 'Linux' ]; then
    echo "Linux"
else
    echo "Not Linux"
fi

我刚得到
uname -s
Not Linux

在终端上,这是错误的。如何将字符串正确设置为 uname 返回的内容?

谢谢

最佳答案

您可能打算使用反引号而不是单引号:

OS=`uname -s`

但你真的想要
OS=$(uname -s)

此外,您可以考虑使用 case,而不是最终将成为 if/else 系列的 if 语句:
case $( uname -s ) in
Linux) echo Linux;;
*)     echo other;;
esac

关于string - 从 Bash 脚本检测操作系统并通知用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10736923/

10-12 06:12