Alexander Galanin -> debian-russian@lists.debian.org @ Wed, 4 Dec 2013 00:05:39 +0400:
>> Ну, если учитывать предыдущий абзац, то Вы тоже из головы придумываете >> правила, потому что if - не "команда" с аргументами. Не то, чтобы это AG> Я всего лишь придерживаюсь терминологии из документации, где if — команда: AG> http://www.gnu.org/software/bash/manual/bash.html#Conditional-Constructs Внимание, команда там не if, а вся конструкция, от if до fi. if - _одно из_ служебных слов, формирующих команду. В частности, скрипт if true вызовет синтаксическую ошибку: % sh -c 'if true' sh: 1: Syntax error: end of file unexpected (expecting "then") Если бы if была командой, то синтаксической ошибки тут не было бы. AG> Потому эта интерпретация более красива для лисперов, но неточна: >> «if bebebe then ...» - команда bebebe с аргументом then >> «if bebebe; then ...» - команда bebebe без аргументов в качестве первого >> аргумента особой формы if (предиката), и начало следующего аргумента >> особой формы if. Anyway, по смыслу if bebebe then - это не команда if с двумя аргументами bebebe и then, а служебное слово if с одним аргументом, командой bebebe then (командой bebebe с аргументом then). Так что лисповская интерпретация тут все же ближе к делу, чем идея считать if командой. Да, можно было бы сказать, что несколько синтаксических аргументов if составляют команду (как у sudo и find), если бы if синтаксически была командой. Но нет, if - это служебное слово, и "аргумент" у него один - список команд. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ob4xiqsv....@wizzle.ran.pp.ru