Re: логическое И (and) error: line 27: [: пропущен `]'
Dmitrii Kashin -> debian-russian@lists.debian.org @ Tue, 03 Dec 2013 21:58:01 +0400:
DK> Так вот, конструкция if-then-else ведёт свою родословную от языка
DK> lisp. В классическом варианте она описывается следующем образом:
А это где-то написано, что шелловский if растет из лисповского? Ну, в
смысле более близкий родственник лисповскому, чем if в любом другом
языке программирования?
DK> Что же касается совершенно справедливого вопроса о необходимости точки с
DK> запятой перед if. Всё дело в том, что любой из трёх параметров может
DK> быть представлен как одной командой, так и блоком команд.
Я бы сказал, что дело не в этом, а ровно в том, что по идеологии шелла
then имеет полное право быть аргументом команды, которая условие if (как
у тебя в одном из примеров). Поэтому нельзя считать, что
команда-аргумент заканчивается там, где следует ключевое слово then,
надо ее закончить явно.
Reply to: