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

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

  • case + как реализовать равный или меньше или больше в случае синтаксиса
  • Как перечислить все файлы, которые не были созданы в четверг
  • Считать столбцы CSV и удалить
  • Восстановление опции в конце функции в zsh
  • Могу ли я поставить более одного условия, если?
  • Как объяснить следующий сценарий?
  • Как я могу сделать исходный-выделить colorize .dotfiles по умолчанию?
  • Есть ли опция / команда для дифференциации файлов на основе состояния копии файла в каталоге?
  • 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 не запускается, поэтому ничего не извлекается.

    Interesting Posts

    Что значит запускать процесс в фоновом режиме?

    Файлы .so загружаются в целом в память?

    sudo без пароля – безопасность?

    status, команды killproc в Ubuntu

    Прокрутка текста при использовании tmux?

    запускать команду как другого пользователя с доступными разрешениями sudo

    Автозаполнение имен хостов при использовании SSH в файле истории

    ToyVpnService выдает исключение PortUnreachableException и истекает после первоначального подключения

    Дата и время в Linux – ежемесячный «mongodump»

    Возможно ли создать динамический контент при операции чтения файлов?

    Невозможно использовать ретрансляцию EPEL, получить ошибку NSS -5990 (PR_IO_TIMEOUT_ERROR)

    Почему blkid отображает другой UUID, чем / dev / disk / by-uuid для моего USB-накопителя

    Как показать значки на рабочем столе и навести винт на привязку клавиш в Gnome 3.14?

    Linux / UNIX для более старого (Pentium 4) ноутбука

    Как отключить файл, символически привязанный к себе, без разрушения

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