Многие не любят писать скрипты на shell, объясняя тем, что это сложно, что это требует много времени, что shell — слишком тупой и на нем невозможно написать что-то сложное и так далее. В действительности это не так. Поэтому я собрал список наиболее часто встречающихся проблем, с которыми сталкиваются пользователи, только начавшие работать с shell и программировать на нем. Сказанное верно для /bin/sh и совместимых с ним.
-
Непонимание механизма, как shell запускает команды, как происходит открытие и подстановка данных командной строки
-
Непонимание того, как раскрываются переменные в одинарных кавычках, в двойных кавычках и без кавычек
-
Непонимание механизма работы подстановка “
-
Непонимание того, как работает перенаправление (>, >>, <, <<)
-
Нечеткое понимание того, как работает pipe, как команды связываются в цепочки команд
-
Как можно группировать команды друг с другом, как запускаются дочерние процессы в shell и когда они завершаются. Как при этом происходит присвоение переменных — и почему не всегда оно срабатывает?
-
Плохое владение awk и sed, которые многократно расширяют возможности shell.
-
Неуверенное владение командой test (она же [ ] ) для проверки условий
-
Незнание всех тонкостей работы команд управления выполнением — if/case/while/for
-
Отсутствие навыков по комбинированию команд shell друг с другом.
Это список тех ошибок, с которыми я сталкивался на своей практике.
Если у вас есть какие-то предложения, какие ошибки бывают у новичков в Unix — отписывайтесь, чтоб я мог бы включить их в программу своего тренинга по shell программированию. Тренинг начнется 24 марта, поэтому запись проблена со 24-го числа!
Кстати, именно с ними мы и будем бороться, пока будет идти тренинг.
Пишите свои предложения!
Понравилось? Подпишись на RSS!
Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

А главная ошибка в изучении буквально звучит так: “Гы гы, а чё это фирма по производству шин свой язык програмирования создала?”
P.S. Было