Практическое написание сценариев командной оболочки Bash/Команда test: различия между версиями

Нет описания правки
 
Команда ''test'' служит для того, чтобы эмулировать условные выражения в языке командной оболочки. Самая первая реализация test была отдельной программой, которой передавалась условная конструкция. По договоренности, эта программа возвращала 0, если переданное условие истинно, и 1 — если ложно.
 
Со временем команда test стала встроенной в интерпретатор. Так как все сценарии изобилуют условными проверками, команда получила более короткий псевдоним в виде квадратной скобки — <code>[</code>. В таком виде команда описана в POSIX. Однако у оригинальной команды test специфичный перегруженный синтаксис, который часто приводит к ошибкам у начинающих программистов. В Bash поддерживается POSIX-совместимый test и вводится его усовершенствованная встроенная версия в виде оператора <code>[[</code>. Далее по тексту, под командой test мы будем понимать как <code>[</code>, так и <code>[[</code>, если не требуется уточнение.
 
Если вы пишите не портируемые сценарии, исключительно для оболочки Bash, то следует отдавать предпочтение модернизированной версии test, так как она в целом удобнее. Тем не менее, следует помнить, что в портируемых сценариях вы должны пользоваться только POSIX совместимым вариантом. Вариант <code>[[</code> кроме Bash так же поддерживается в Ksh и Zsh.
1001

правка