В сценарии 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
?