bash - 如何在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 都不起作用。我在所有示例中都找到了这些。任何的想法?
解决方案
你可以这样使用它:
#!/usr/bin/env bash
condition=$(((RANDOM % 2) == 1))
if ((condition)); then
echo "a"
else
echo "b"
fi
请注意,您也可以将变量赋值缩短为:
condition=$((RANDOM % 2))
推荐阅读
- c# - Find and Replace inside of HtmlWebViewSource property
- assembly - 如何在 ARM7 上执行模数?
- matlab - 应用程序设计器点未出现在绘图上
- jenkins - 在 Groovy 脚本中传递命令行输入
- reactjs - I can not deploy react app on github pages
- html - HTML table scraping in R
- hibernate - Spring Data Rest Association GET Override
- c - 无法获取 C 中指针的内容
- python - 如何在 statsmodels 未观察到的组件模型中输入测量噪声?
- c# - The server tag is not well formed. html runat="server" and data-target="#<% Eval("Abbreviation")%>"