Это четвёртая часть пересказа статьи «Learn 10 good UNIX usage habits» от IBM. Предыдущую часть можете найти здесь.
4. Будьте аккуратны, когда закавычиваете переменные.
В большинстве случаев стоит закавычивать переменные при их использовании. Если, конечно, вам не нужно обратное Тут лучше и проще смотреть на примерах:
~ $ VAR="tmp/*" ~ $ echo $VAR tmp/a tmp/b ~ $ echo "$VAR" tmp/*
То есть в первом случае мы печатаем результат выполнения того, что было в переменной. Во втором же — просто текст, который мы в него положили. То есть общее правило: всегда закавычивайте — если вам таки нужно «выполнить» переменную — вы об этом вспомните почти сразу. А вот разбираться, что за «свето-музыка» происходит временами со скриптом… на это могут уйти часы.
Но кавычки — это ещё не всё! Не забывайте также заключать переменную в фигурные скобочки. Если вы вставляете свою переменную прямо в текстовую строку, то чтобы отделить её от остального текста используются именно фигурные скобки ({}). Опять же, пример куда приятнее и понятнее:
~ $ echo $VARa ~ $ echo "$VARa" ~ $ echo "${VAR}a" tmp/*a ~ $ echo ${VAR}a tmp/a