LINUX.ORG.RU

Несоответствие мануала с действительностью

 


0

2

Прочитал манул, полез в файл parse.y в исходниках и понял что мануал не соответсвует тому как работает баш. Множество синтаксических конктрукций не задокументировано, а некоторые задокументированы неправильно.

Например:

for name; { echo $name; }

в мануеле нет констнукции for без do, тем неменее в баше есть несколько вариантов таких конструкций

также в while/until ; опциональна, хотя в мануле написано что нет



Последнее исправление: mishka06 (всего исправлений: 2)
Ответ на: комментарий от cobold

недекларированную возможность

Да, хоть горшком назови, только в печь не сажай. У многих программ есть опции командной строк, не описаные в man. У одних для внутреннего использования, у других сначала опцию называют «depricated», потом выкидывают из man, а в коде оставляют.

Здесь https://unix.stackexchange.com/questions/306940/what-is-the-purpose-of-the-do... написано, что zsh понимает:

for i { echo "$i"; }
хотя в его документации https://zsh.sourceforge.io/Doc/Release/Shell-Grammar.html написано, что обязательно ";" или перевод строки. У меня нет zsh, не проверял.

В руководстве https://gnu.org/software/bash/manual/bash.html написано, что bash в продолжение sh из SRV4.2, перечислены отличия. Значит, нужно сначал прочитать тот докумет, только потом man bash :)

Пишут, что и в документации System III были пробелы в описании этой «краткой» формы for и while

mky ★★★★★
()
Ответ на: комментарий от anonymous

I’m told by the maintainer of bash that this is an undocumented feature that provides backwards compatibility

Тогда нужно пытать мантейнера, почему они выборочно реализовали недокументированые фичи. Допустим, в оригинальном Bourne-шелах можно было вместо палки (|) ставить домик (^) https://www.in-ulm.de/~mascheck/bourne/common.html

Непонятна позиция разработчиков — им лень документировать или они планируют в дальнейшем выкинуть такой синтаксис и сознательно не документруют.

mky ★★★★★
()
Ответ на: комментарий от mky

Это святые люди, которые преодолевая тошноту и отвращение держат этот слипшийся ком из костылей и велосипедов. И памятник поставить нужно, а не пытать!

ugoday ★★★★★
()