Как ключевое слово «if» проверяет, является ли значение истинным или ложным?

В сценарии bash

if [ 1 ]
then
   echo "Yes"
else
   echo "No"
fi

Вывод: Да

Это означает, что« 1 »рассматривается как истинное значение.

Но в коде:

word = Linux
letter = nuxi
if echo "$word" | grep -q "$letter"
then
    echo "Yes"
else
    echo "No"
fi

Вывод: Нет

Но echo "$ word" | grep -q "$ letter" вернет 1, поэтому почему результат Нет .

Каким образом ключевое слово if проверяет значение, возвращаемое командой после if ?

10
задан Bradley A. Tetreault 23 June 2019 в 13:38
поделиться