Pull to refresh

Comments 10

Мерзость. Каждый раз, когда я пишу что-то на баше, у меня остаётся ощущение, что я генерирую техдолг с максимально возможной скоростью. И это не зависит от того, насколько тщательно я его пишу.
Боже, ну что за перевод ( Минусуйте меня семеро, но невозможно это читать:
добавляйте свои переменные в кавычки; предпочитайте "${var}" перед "$var", но уточняйте детали
Уточняй @ Предпочитай

А как бы вы перевели?


quote your variables; prefer "${var}" over "$var", but see details.
"..., но (учитывайте|с оглядкой на) контекст использования", например.
Например так: «заключайте переменные в кавычки; "${var}" лучше, чем "$var", но это зависит от контекста». Но в тексте это не единственное место же. К примеру:
Все помещается на одной линии
Строке, а не линии.
Благодарю, исправил.
Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


ORLY?
У меня нет под рукой книги Армстронга. У кого есть, подскажите, пожалуйста, насколько текст оригинала статьи пересекается с книгой.
У меня сложилось впечатление, что они имели в виду «в соответствии с внутренними правилами компании BASH — единственный разрешённый скриптовый язык». В противовес другим Shell-языкам: sh, csh,ksh, zsh, tcsh и т.д., и т.п. В контексте упоминания Solaris как исключения для этого правила -получается вполне логично.
Вообще мне, как скриптеру с огромным стажем, здесь есть просто непаханное поле для комментариев, потому что слишком многое выдаёт дилетантизм авторов, а скорее просто небрежение изучением документации языка. Чего стоит только сравнение вида [[ "${var}" == «string» ]] при том, что куда корректнее и короче [[ $var == 'string' ]]: в двойных квадратных скобках не нужно воспринимать переменные как куски интерполируемого текста, строки в двойных кавычках, не использующие интерполяцию — это не только лишняя нагрузка на клавиши shft, но и просто моветон в BASH (точно так же и в perl, например). В арифметических выражениях вообще не нужен сигил у переменных: $(( X+ Y )), а не выглядящее просто ужасно $(( ${X} + ${Y} )) — и не лень же им было это набирать… Утверждение о массивах в BASH, которые если используешь, то надо сразу писать на Python — какой-то ничем не подкреплённый плевок в сторону BASH, хотя для своих задач (как инструмент системного администрирования) это отличный язык, и Python его здесь способен заменить, только если вы изначально отлично знаете Python (и, очевидно, знаете BASH ещё хуже, чем те, кто написал эту Google-памятку).
Не могу сказать, что для меня данная статья не была полезной, но некоторый снобизм при посредственном знании предмета — её авторов совершенно не красит.
UFO just landed and posted this here
Sign up to leave a comment.

Articles