Что: 1292571d0fe2410bf8c6067f15d98d8de73b3d87 Когда: 2021-10-20 10:18:40+03:00 ------------------------------------------------------------------------ Темы: zsh ------------------------------------------------------------------------ zsh vs bash, снова https://www.arp242.net/why-zsh.html https://tiswww.case.edu/php/chet/bash/POSIX Хорошие примеры убогости bash-а. Несколько лет назад я всё ещё продолжал говорить что меня не волнуют более удобные возможности программирования на zsh, ибо всё равно скрипты писал и буду писать на POSIX shell. Поэтому программирование (скрипты) и интерактивное удобство могут разительно отличаться (как tcsh по умолчанию в FreeBSD, вообще не POSIX или Bourne совместимый даже отдалённо). Но когда я прочувствовал насколько же удобнее работать с переменными где не нужно париться о корректном экранировании переменных, то я уже не мало своих скриптов переписал на pure zsh, в котором и вызовов внешних команд стало сильно меньше. Читая эту статью я и не подозревал насколько же bash мало всего умеет! Выходит, я совершенно его не знал. Ад с quoteing-ом как был, так и остался в нём, ничуть не делая ситуацию лучше относительно POSIX shell. Никаких модификаторов переменных в нём нет. Игнорирование чего-либо в glob-е оказывается есть, но явно не шибко удобно написанное -- я поэтому никогда и не встречал чтобы кто-либо писал "!(*_test|f*).go" в bash. Подстановки параметров тоже нет. Да почти всё (кроме работы с float-ами) я ежедневно использую в zsh, а в bash оказывается ничего из этого нет! Оказывается некоторые фичи присутствовали в csh или ksh ещё со времён их рождения. Автор верно замечает что нет ни одной причины почему bash до сих пор используется, кроме того факта, что изначально это всё было в GNU ОС и он там был по умолчанию. Come on, уже давно многие люди не используют ни GNU, ни нет проблем со свободными лицензиями всяких zsh. Плюс у zsh только curses и libc из зависимостей и он реально маленький и компактный, относительно остальных интерпретаторов. И верно замечено что в zsh можно писать более портируемый код, ибо меньше сторонних инструментов будет использовано: тот же grep/sed попробуй написать чтобы он работал в разных реализациях. Помню что единственный способ использовать портируемо stat команду это... не использовать её, а вызывать perl. Но вот в zsh есть свой zstat модуль, который бы мог быть отличной альтернативой. ------------------------------------------------------------------------ оставить комментарий: mailto:comment@blog.stargrave.org?subject=Re:%20zsh%20vs%20bash%2C%20%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%20%281292571d0fe2410bf8c6067f15d98d8de73b3d87%29 ------------------------------------------------------------------------ Сгенерирован: SGBlog 0.34.0