Что является хорошим примером скрипта bash для изучения, чтобы выучить хорошие правила кодирования?


12

Я изучил основы программирования в bash. Я хотел бы изучить несколько примеров сценариев bash, чтобы выучить хорошие привычки для сценариев bash.

В частности, меня интересуют примеры скриптов bash, которые показывают:

  • как обрабатывать аргументы и запускать условную функциональность
  • как проверить ошибки ввода
  • как выполнить завершение команды
  • как организовать bash-скрипт в функции, команды и т. д.
  • как представить справочные сообщения

Например, я многому научился у autorandr на github . Существуют ли другие подобные скрипты или репозитории скриптов, где я мог бы узнать о соглашениях скриптов bash?


1
Одно замечание о том, где не искать: многие сценарии инициализации системы, упакованные большинством дистрибутивов /etcили где-либо, полны плохих методов написания сценариев оболочки, поэтому вам следует избегать их использования в качестве примеров.
jw013

Не знаю, почему это получило понижающее голосование, +1
n0pe

1
Существуют ли "хорошие" правила кодирования для bash? На мой взгляд, когда вы используете bash, вы, как правило, больше заинтересованы в том, чтобы он выполнял свою (крайне ограниченную) работу максимально эффективно и переносимо. Если вы хотите элегантный и чистый код, вы используете настоящий язык программирования.
Шадур

@Shadur: языков слишком много, поэтому каждый вправе свести к минимуму их использование, как при написании приложения с графическим интерфейсом для Gtk3, использующего чистую привязку bash и bash.
dotbit

Ответы:


6

Бесстыдная вилка, но вы просили примеры:

И если вы хотите хорошую ссылку, используйте вики Грега . Это беззаботный читаемый сад хаоса и красоты, с прагматичным подходом к тому, чтобы сделать вещи наилучшим образом. Просто будьте очень, очень осторожны, чтобы тщательно исследовать, прежде чем спрашивать что-либо о #bash - они могут быть жестокими.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.