Программы
10 хороших примеров работы в Linux, FreeBSD и прочих Unix. Часть 4 — кавычки

10 хороших примеров работы в Linux, FreeBSD и прочих Unix. Часть 4 — кавычки

Это четвёртая часть пересказа статьи «Learn 10 good UNIX usage habits» от IBM. Предыдущую часть можете найти здесь.

Это четвёртая часть пересказа статьи «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
Также может быть вам интересно:

10 хороших примеров работы в Linux, FreeBSD и прочих Unix. Часть 3 — управляющие операторы

Это заметка из цикла вольных переводов (возможно, слишком вольных) статьи IBM «Learn 10 good Unix usage habits». Вольные они не только потому, что автор плох в английском, но и из-за спорного их содержания.

Читать »

Анти-паттерн: «Девальвация срочно»

«Девальвация срочно» — это процесс методического добавления во все приходящие задачи «ускоряющих слов», которые обязаны ускорить разработку той или иной возможности. Вместо этого теряется само понятие срочности.

Читать »
Фото Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.

Фото Пример своей консольной команды в Django проекте

Пример своей консольной команды в Django проекте

Если вы работали с Django проектом, то, скорее всего, запускали команды из консоли (manage.py). В Django есть простой способ писать свои команды для управления проектом.

Фото Как на Bash посчитать число строк в проекте (директории)

Как на Bash посчитать число строк в проекте (директории)

Ниже будет представлен однострочник, решающий данную задачу на Bash + пошаговое описание его работы.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.

Фото Как установить часовой пояс в Linux

Как установить часовой пояс в Linux

В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через Интернет ваше время слетит.

Фото Как найти самые большие папки и файлы в Linux

Как найти самые большие папки и файлы в Linux

Когда кончается место на жестком диске, возникает закономерный вопрос: на что же оно было потрачено, какие файлы разрослись больше положенного?

Фото Команда grep – полезные ключи и примеры использования

Команда grep – полезные ключи и примеры использования

У команды "grep" довольно много различных особенностей. особенно, если учесть, что с английского это "решето" – а что может войти в решето , не факт что выйдет!

Фото Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Как создать неизменяемый файл в Linux / MacOS / FreeBSD

Само собой, root может всё (если введёт пару команд), однако, это вполне легальный способ запретить изменение файла.