首页 > 解决方案 > 如何在bash的if-else中使用变量?

问题描述

我在 Windows 上安装了 git bash 并尝试编写一些简单的脚本。到目前为止我无法弄清楚的一件事是简单的数学和比较。我目前需要的是一个随机布尔值:

#!/usr/bin/env bash

condition=$(($(($RANDOM%2)) == 1))

if $condition; then
    echo "a"
else
    echo "b"
fi

我得到了command not found。看起来 git bash 缺少比较运算符,无论我尝试什么,<,>,==,!=,-eq,-lt,-gt 都不起作用。我在所有示例中都找到了这些。任何的想法?

标签: bash

解决方案


你可以这样使用它:

#!/usr/bin/env bash

condition=$(((RANDOM % 2) == 1))

if ((condition)); then
    echo "a"
else
    echo "b"
fi

请注意,您也可以将变量赋值缩短为:

condition=$((RANDOM % 2))

推荐阅读