Я просто хотел, чтобы сделать действительно простое сравнение между 2 строки в Bash:сравнение Bash между строками - равными, но не равны для него
stat=`curl -Is $url | head -n 1`
echo $stat
if [ "$stat" = "HTTP/1.1 200 OK" ];then
echo "$symbol is OK"
echo $stat
valide=$(($valide + 1))
else
echo "$symbol is 404"
echo $stat
err=$(($err + 1))
fi
Но даже если «стат» полностью совпадают, результат пребывания что он не равен:
HTTP/1.1 200 OK
AAA is 404
HTTP/1.1 200 OK
Как я могу изменить свой код?
У меня также было много ошибок с «/» («неожиданный оператор», ...) в строке перед тем, как приступить к этому образцу кода, и я пробовал много разных подходов, таких как содержит («200») с тем же результатом.
Спасибо заранее!
Попробуйте 'Эхо "| $ стат |"'. Готов поспорить, есть лишние пробелы. – Barmar
@Barmar Вероятно, возвращение задней каретки. – melpomene
@melpomene Да, это точно, что это такое – Barmar