Как стать автором
Обновить

Комментарии 14

Про monitor — это комментарий, который подразумевает, что вы назовёте скрипт monitor

При всем уважении к составителям книг по курсам RH они ни как не дотягивают до
Advanced Bash-Scripting Guide
Искусство программирования на языке сценариев командной оболочки
Автор: Mendel Cooper

Заголовок статьи явно говорит, что это основы.

Добавлю ещё, что на /r/bash (и не только) упомянутый выше «Advanced» Bash-Scripting Guide имеет репутацию устаревшего, полного ошибок и плохих практик руководства, а на IRC канале #bash даже была отдельная команда !abs, выводящая текст:
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 классе урока информатики? ;) Кмк, интересующийся информатикой школьник уже знает про переменные и циклы.

Вы всерьез полагаете, что в 5 классе на информатике рассказывают как на баше писать?

А в каком классе рассказывают про программы, переменные, циклы и всё вот это? Баш это не Паскаль, да…
Совсем забыл про сарказм :)

Я в следующем году узнаю :)
Но раньше на уроках они весь курс рисовали пиктограммы винды с офисом.
НЛО прилетело и опубликовало эту надпись здесь

Покритикую


Совершенно лишняя информация ДЛЯ НОВИЧКА, которая грузит массой уточнений

В то же время в статье:


Командой vi /bin/datetime создадим в каталоге /bin файл <...> Сохранив файл, <...>

Ну, у вас-то лишней информации точно нет :-)


Я присоединюсь к заданному вопросу: так для кого статья? Мне кажется, те, кто умеют выходить из vi, и так знакомы с башем, а остальные могут без проблем пользоваться хоть notepad.exe — на результат работы это никак не повлияет.


Примечание. Так и не понял, что делает этот скрипт. В моём случае используется CentOS 7 и по умолчанию там нет monitor, хотя в скрипте явно написано <...>

Считаю, что фразе «я не понял, что написал» нет места в инструкции для новичков.
А комментарий стоит заменить на


# usage: ./monitor <processname>

сохранить файл как monitor — и всё станет понятно. Собственно, о чём выше уже высказались


Заголовок спойлера

Поправьте, если не прав, но, кажется,


ps aux | grep $1 | grep -v grep

прекрасно заменяется на


pgrep $1
Мне оказался полезнее перевод с likegeeks.com, а также комментарии к тем статьям.

Спасибо за ссылку.

Думаю даже во введении полезно указать некоторые тонкости хотя бы для того что бы знать о них и не так было скучно обыгрывать на практике.
В операторе case очень богатый инструмент сопоставления по шаблону но в данном случае хочу обратить внимание на возможность изменять порядок следования в цикле.
Если после команды в конце блока поставить ;;& то после выполнения команды цикл проверки на этом не закончится и будет продолжена проверка на совпадение по шаблону далее по списку. Если в конце команды поставить ;& то после выполнения данной команды выполнится следующий за ним блок кода не зависимо совпадет их образец со значением переменной или нет, так сказать «в принудительном порядке». Вот так выполнятся все три блока команд если значеним первого параметра будет единица:
case "$1" in
    1) echo 1;&
    2) echo 2;;&
    *) echo ?
esac
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации