Чтобы избежать ошибок при использовании позиционных параметров в скриптах, можно придерживаться некоторых рекомендаций:
- Проверять наличие параметров. 4 Если скрипт вызван без параметров, но для нормальной работы кода предполагается их наличие, возникнет ошибка. 4
- Использовать фигурные скобки. 14 Если скрипту нужно больше девяти параметров, при обращении к ним номер в имени переменной надо заключать в фигурные скобки, например так:
${10}
. 4 - Использовать специальные переменные. 14 Например, переменные
$*
и $@
содержат все параметры командной строки, что делает возможным доступ к тому, что передано сценарию, без использования позиционных параметров. 14 - С осторожностью использовать команду shift. 4 Она, по умолчанию, сдвигает значения позиционных параметров влево. 4 Например, значение переменной
$3
становится значением переменной $2
, значение $2
переходит в $1
, а то, что было до этого в $1
, теряется. 4 - Избегать функций с длинным и ветреным списком аргументов. 2 Можно передать большинство параметров через одну переменную массива или реорганизовать функции, разделив их на более мелкие или объединив их в классе. 2