2020-01-14 Параметры В Bash Без Кавычек
Различия
Здесь показаны различия между двумя версиями данной страницы.
правила_разработки:как_не_надо_делать:2020-01-14_параметры_в_bash_без_кавычек [14.01.2020 09:18] nikolay_carbonsoft создано |
правила_разработки:как_не_надо_делать:2020-01-14_параметры_в_bash_без_кавычек [14.01.2020 09:22] (текущий) nikolay_carbonsoft Approved(nikolay_carbonsoft 2020/01/14 09:22) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | **Нарушено правило:** Опасная обработка параметров. | ||
+ | ** | ||
+ | Ошибка:** Написал код, который обрабатывает параметры: | ||
+ | <code bash> | ||
+ | if [ $1 = info ]; then | ||
+ | cloud_conf node show "$NODE_NAME" | ||
+ | fi | ||
+ | </code> | ||
+ | Можно подобрать параметры, которые нарушат работу скрипта. | ||
+ | |||
+ | **Как надо делать:** | ||
+ | В bash нужно всегда использовать кавычки. Хоть их иногда можно не использовать, лучше не думать и всегда ставить кавычки. | ||
+ | <code bash> | ||
+ | if [ "$1" = 'info' ]; then | ||
+ | cloud_conf node show "$NODE_NAME" | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ | ||
+ | |||
+ | {(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2020-01-14_параметры_в_bash_без_кавычек|type=vote|trace=user|tracedetails=1)} | ||
+ | |||