在 BASH 中的 IF-ELSE 条件下匹配 CURL 的输出

问题描述 投票:0回答:1
  1. 我想在 if-else 中评估卷曲的输出。
  2. 如果第一个条件匹配,则 shell 返回 0,因此 I 等于 0。
  3. 第二个条件也类似
  4. 如果没有匹配项,则转到 else 块

我有以下内容

if [[ curl https://www.example.com | grep -q "Match 1 Found" = 0 ]]
then
    echo "Match 1 Found"
elif [[ curl https://www.example.com | grep -q "Match 2 Found" = 0 ]]
then
    echo "Match 2 Found"
else
    echo "No Match Found"

PS:我等于零,因为如果为 True,shell 返回 0

bash shell if-statement curl echo
1个回答
0
投票

[[ ]]
用于评估条件表达式,但在测试命令时不需要它。命令的退出状态直接通过
if
测试。

所以只需写:

if curl https://www.example.com | grep -q "Match 1 Found"
© www.soinside.com 2019 - 2024. All rights reserved.