Оператор сравнения "==", используемый в unix, не выполняет желаемое условие в случае успеха - PullRequest
0 голосов
/ 06 августа 2020

В моем сценарии unix я использую оператор сравнения «==», чтобы проверить, равен ли конкретный счетчик нулю или нет. Когда он удовлетворяет условию, он должен выполнить дальнейшие операции. Однако, хотя счетчик совпадает, он не выполняет дальнейшие строки в l oop.

Пример:

count=`grep "$name-" names.txt | wc -l`
if [ "$count" == 0 ]
then
#do further operations
...
...
else 
echo "Condition is not satisfied"
fi 

Однако, даже если счетчик равен нулю, он не кажется принять его и выполнить только else l oop. Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 06 августа 2020

Используйте -eq для числового сравнения

count=`grep "$name-" names.txt | wc -l`
if [ "$count" -eq 0 ]
then
   ...
fi

= и == сравнивайте строки (и ваша строка содержит пробелы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...