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

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

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 не запускается, поэтому ничего не извлекается.

  • Как использовать оболочку bash для gnuplot для отображения греческой буквы?
  • перенаправить вывод команды в переменную (скрипт bash)
  • Команда Bash: возможно ли передать аргумент перед пользовательской командой (функцией) или она должна быть только после:
  • Восстановить от faking / proc / meminfo
  • Список писем по темам
  • Использование chown $ USER: $ USER внутри сценария bash
  • Как использовать If-Else для выполнения определенных действий, если дни недели - это дни?
  • Инструмент для генерации трафика TCP
  • Bash заменить символы на выходе
  • Почему «bash -x» нарушает этот скрипт?
  • Удалить строку с помощью> и forward-slash из xml-кода
  • Как получить владельца и полный путь 50 файлов большого размера для всех пользователей?
  • Linux и Unix - лучшая ОС в мире.