Strongbash
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
соглашения_кода:strongbash [04.09.2018 07:13] 127.0.0.1 внешнее изменение |
соглашения_кода:strongbash [14.01.2020 09:26] nikolay_carbonsoft |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Соглашение по строгому bash ===== | ===== Соглашение по строгому bash ===== | ||
+ | TODO_OSV возможно выборочно проверять номера из https://github.com/koalaman/shellcheck | ||
===== strongbash001 ===== | ===== strongbash001 ===== | ||
Строка 101: | Строка 102: | ||
===== strongbash002 ===== | ===== strongbash002 ===== | ||
- | **Должен быть установлен set -eu или include ::carbon.sys** \\ | + | **Должен быть установлен set -eu или include crab_sys.sh** \\ |
**Категорически нельзя ставить <del>set -o pipefail</del> на весь файл см strongbash034_6** | **Категорически нельзя ставить <del>set -o pipefail</del> на весь файл см strongbash034_6** | ||
<WRAP center round important>ВНИМАНИЕ set -eu это самое главное правило, оно дает режим strong.\\ | <WRAP center round important>ВНИМАНИЕ set -eu это самое главное правило, оно дает режим strong.\\ | ||
Строка 307: | Строка 308: | ||
**В начале каждого файла должен быть echo START и USAGE, INFO, EXAMPLE\\ | **В начале каждого файла должен быть echo START и USAGE, INFO, EXAMPLE\\ | ||
В конце каждого файла должны быть echo SUCCESS и exit 0 :\\ ** | В конце каждого файла должны быть echo SUCCESS и exit 0 :\\ ** | ||
- | Для продвинутых разработчиков лучше использовать в начале скрипт: include ::carbon.sys | + | Для продвинутых разработчиков лучше использовать в начале скрипт: include crab_sys.sh |
<hidden Почему...> | <hidden Почему...> | ||
- exit 0 для того чтобы избежать случайный код возврата. | - exit 0 для того чтобы избежать случайный код возврата. | ||
- USAGE, INFO, EXAMPLE использования важен, чтобы программа могла жить в будущем и не была выброшена. | - USAGE, INFO, EXAMPLE использования важен, чтобы программа могла жить в будущем и не была выброшена. | ||
- echo START echo SUCCESS делает удобным использование и чтение консоли и логов. | - echo START echo SUCCESS делает удобным использование и чтение консоли и логов. | ||
- | - include ::carbon.sys позволит автоматически деалать echo START echo SUCCESS echo FAIL sys::usage "$@" # --help и показывает callstack при падении | + | - include crab_sys.sh позволит автоматически деалать echo START echo SUCCESS echo FAIL sys::usage "$@" # --help и показывает callstack при падении |
</hidden> | </hidden> | ||
<hidden Пример...> | <hidden Пример...> | ||
Строка 355: | Строка 356: | ||
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
- | source ::carbon.sys | + | source crab_sys.sh |
sys::usage "$@" | sys::usage "$@" | ||
### --help Info: Автоматически создавать и коммитить все файлы в каталоге | ### --help Info: Автоматически создавать и коммитить все файлы в каталоге | ||
Строка 382: | Строка 383: | ||
- | <color #22b14c>Или для тихих файлов с carbon.sys:</color> | + | <color #22b14c>Или для тихих файлов с crab_sys.sh:</color> |
<code bash> | <code bash> | ||
__SILENT=TRUE | __SILENT=TRUE | ||
- | source ::carbon.sys | + | source crab_sys.sh |
### --help Info: Автоматически создавать и коммитить все файлы в каталоге | ### --help Info: Автоматически создавать и коммитить все файлы в каталоге | ||
### --help Usage: auto_git.sh [install] /var/www/html | ### --help Usage: auto_git.sh [install] /var/www/html | ||
Строка 649: | Строка 650: | ||
fi | fi | ||
</code> | </code> | ||
- | <color #22b14c>Хорошо при include ::carbon.sys</color> | + | <color #22b14c>Хорошо при include crab_sys.sh</color> |
<code bash> | <code bash> | ||
sys::usage "$@" и | sys::usage "$@" и |