Когда / как я решаю, когда использовать скобки в тестах - PullRequest
1 голос
/ 21 апреля 2020

Мне нелегко обернуть мой скучный маленький мозг вокруг различных употреблений [ ], цитируемых переменных и -eq против ==.

В чем разница между этими утверждениями? Это так просто, как один более послушный, чем другой, или есть функциональное различие, о котором я должен беспокоиться?

[ ! -z "$var" ] && echo "Not empty" || echo "Empty"
[[ ! -z "$var" ]] && echo "Not empty" || echo "Empty"

и как насчет:

if "$report" == "1"; then blah; fi

против

if [ "$report" == "1" ]; then blah; fi

против

[ "$report" -eq 1 ]; then blah

Я понял, что [ - это тестовая функция в оболочке, но я не понимаю, когда мне нужно начинать с if или когда это не обязательно

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