bash ошибка при сравнении строки с косой чертой - PullRequest
1 голос
/ 29 мая 2020

Почему возникает ошибка, если строка начинается с sla sh?

[[ "/a" -eq "a" ]]
-bash: [[: /a: syntax error: operand expected (error token is "/a")

Кажется немного неожиданным.

1 Ответ

4 голосов
/ 29 мая 2020

Проблема не в /, а в использовании оператора -eq, который используется для целочисленного равенства в оболочке.

Если вы измените -eq на =, то ошибки не будет:

[[ "/a" = "a" ]] && date || pwd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...