Я попытался предложение на How do I compare two string variables in an 'if' statement in Bash?Сравнивая переменную строки в Bash
, но это не работает для меня.
У меня
if [ "$line" == "HTTP/1.1 405 Method Not Allowed" ]
then
<do whatever I need here>
else
<do something else>
fi
Независимо от того, он всегда идет к другому заявлению. Я даже вторгаюсь в $ line перед этим, а затем копировал и вставлял результат, просто чтобы убедиться, что строка правильная.
Любая помощь в том, почему это происходит, будет с благодарностью.
Возможно, новая версия после http-версии? – SMA
'test' использует одиночный' = 'для сравнения строк, а не double' == ' –
Кстати, вместо эхо-строки (которая не позволит вам увидеть невидимые символы) попробуйте использовать формат bash printf% q для показать строку как строку bash: 'printf% q \\ n" $ line "' (Кавычки важны.) – rici