Как эффективно использовать сценарии bash (разные затраты на восстановление и хорошие привычки)?

Это один из самых актуальных вопросов. Как эффективно писать сценарий? Каковы плохие пути и каковы хорошие пути? Я знаю кое-что, что я укажу здесь. Если кто-то знает о чем-то другом, добросердечно оставляйте комментарий для него. Этот вопрос был задан, чтобы узнать о лучших практиках. Это очень сложно для Google, и всегда все вещи не появляются в одном и том же месте. Следовательно, этот вопрос был задан всем вам опытным парням. Я сам пытаюсь изучить эти вещи. Следовательно, я думаю, что любые комментарии / ответы, которые вы, ребята, предоставляете здесь, будут очень полезны для меня и для таких людей, как я. Заранее спасибо .

  • Сортировка файла на основе средней части
  • Список запросов серверов для выделенной памяти / процессора
  • Назначение выбора текста переменной в сценарии bash
  • Создание скрипта sh в программе
  • Передача аргументов командной строки java из сценария JPackage
  • Получить список пакетов, которые не установлены в системе Debian
  • Первая строка сценария
  • Сохранять временную историю через скрипт
  • One Solution collect form web for “Как эффективно использовать сценарии bash (разные затраты на восстановление и хорошие привычки)?”

    1. Нет необходимости определять деревья каталогов индивидуально:

    Плохой способ :

     ~ $ mkdir tmp ~ $ cd tmp ~/tmp $ mkdir a ~/tmp $ cd a ~/tmp/a $ mkdir b ~/tmp/a $ cd b ~/tmp/a/b/ $ mkdir c ~/tmp/a/b/ $ cd c ~/tmp/a/b/c $ 

    Хороший способ :

     ~ $ mkdir -p tmp/a/b/c 

    2. Архивирование:

    Иногда я видел, как люди перемещают любой tar как a.tar в другой каталог, который, оказывается, является каталогом, в котором они хотят извлечь архив. Но это не нужно, поскольку здесь можно использовать опцию -C, чтобы указать каталог для этой цели.

     ~ $ tar xvf -C tmp/a/b/c newarc.tar.gz 

    3. Важность операторов управления:

    Предположим, что есть две команды, но только если первая команда запускается, то вторая должна выполняться, иначе вторая команда будет запущена. Итак, здесь должна быть выполнена команда, только если другая команда возвращает нулевой статус выхода.

    Пример :

     ~ $ cd tmp/a/b/c && tar xvf ~/archive.tar 

    В приведенном выше примере содержимое архива необходимо извлечь в каталоге: c, но только в том случае, если каталог существует. Если каталог не существует, команда tar не запускается, поэтому ничего не извлекается.

    Linux и Unix - лучшая ОС в мире.