Комментарии 14
Про monitor — это комментарий, который подразумевает, что вы назовёте скрипт monitor
Advanced Bash-Scripting Guide
Искусство программирования на языке сценариев командной оболочки
Автор: Mendel Cooper
Заголовок статьи явно говорит, что это основы.
The infamous «Advanced» Bash Scripting Guide should be avoided unless you know how to filter out the junk. It will teach you to write bugs, not scripts. In that light, the BashGuide was written: mywiki.wooledge.org/BashGuide
Те, кто ставят минусы, просьба обосновать. Просто кажется, что минус за то, что "читайте Advanced Bash-Scripting Guide" и почему-то не задумываются о том, что здесь разжеваны основы. В том же Advanced Bash-Scripting Guide каша из слов ДЛЯ НОВИЧКА в том, что:
Цитата из того мануала:
break, continue
Для управления ходом выполнения цикла служат команды break и continue [23] и точно
соответствуют своим аналогам в других языках программирования.
В квадратных скобках [23]. Совершенно лишняя информация ДЛЯ НОВИЧКА, которая грузит массой уточнений. И так почти во всех абзацах какие-нибудь уточнения. Вот когда не буду новичком, тогда буду смотреть на эти уточнения. Поэтому, что здесь, что в телеграмме, не надо вводить в заблуждение новичков в качестве истины использовать Advanced Bash Scripting Guide.
"разжеваны основы"
На кого статья ориентирована? С какого места эти основы необходимо "разжёвывать"? ;) С прогулянного в 5 классе урока информатики? ;) Кмк, интересующийся информатикой школьник уже знает про переменные и циклы.
Покритикую
Совершенно лишняя информация ДЛЯ НОВИЧКА, которая грузит массой уточнений
В то же время в статье:
Командой vi /bin/datetime создадим в каталоге /bin файл <...> Сохранив файл, <...>
Ну, у вас-то лишней информации точно нет :-)
Я присоединюсь к заданному вопросу: так для кого статья? Мне кажется, те, кто умеют выходить из vi
, и так знакомы с башем, а остальные могут без проблем пользоваться хоть notepad.exe
— на результат работы это никак не повлияет.
Примечание. Так и не понял, что делает этот скрипт. В моём случае используется CentOS 7 и по умолчанию там нет monitor, хотя в скрипте явно написано <...>
Считаю, что фразе «я не понял, что написал» нет места в инструкции для новичков.
А комментарий стоит заменить на
# usage: ./monitor <processname>
сохранить файл как monitor
— и всё станет понятно. Собственно, о чём выше уже высказались
Поправьте, если не прав, но, кажется,
ps aux | grep $1 | grep -v grep
прекрасно заменяется на
pgrep $1
В операторе case очень богатый инструмент сопоставления по шаблону но в данном случае хочу обратить внимание на возможность изменять порядок следования в цикле.
Если после команды в конце блока поставить ;;& то после выполнения команды цикл проверки на этом не закончится и будет продолжена проверка на совпадение по шаблону далее по списку. Если в конце команды поставить ;& то после выполнения данной команды выполнится следующий за ним блок кода не зависимо совпадет их образец со значением переменной или нет, так сказать «в принудительном порядке». Вот так выполнятся все три блока команд если значеним первого параметра будет единица:
case "$1" in
1) echo 1;&
2) echo 2;;&
*) echo ?
esac
Введение в Bash Shell