Переменные

Предыдущий скрипт можно разными способами усложнить. Например, можно добавить новые команды, поместив каждую на новой строке:
#!/bin/bash echo “hello world” echo “
Вот файлы из моей текущей директории:” ls
Со всеми командами, имеющимися в Bash, этот очень простой подход к программированию уже дает вам огромные возможности. Но чтобы сделать что-нибудь по настоящему мощное и добавить в свои скрипты интеллект и гибкость, нам понадобятся некоторые конструкции, имеющиеся в других языках программирования. Начнем с переменных, с помощью которых можно связать имена и значения. Рассмотрим пример:
#!/bin/bash name=Jon echo “Hello ${name}” echo “${name}, какое милое имя.”
В первой строке скрипта (после «шапки») текстовая строка Jon присваивается переменной name (имя). После присваивания можно обращаться к этой переменной в любом месте скрипта, помещая имя переменой в конструкцию ${}. При выполнении скрипта Bash разберет строки и заменит значением name каждую конструкцию ${name}.
Это и само по себе довольно удобно, но в Bash есть еще несколько гораздо более полезных трюков с переменными. Один из самых полезных - присвоение переменной вывода команды, для этого команду нужно заключить в обратные апострофы: date='date +%Y%m%d'
Она назначит вывод команды date (20130706 или тот день, в который вы это читаете) переменной date для последующего использования в вашем скрипте. Можно поступить еще умнее и добавить вывод команд прямо в другие строки конструкцией $(): echo “Сегодняшнее число $(date +%Y%m%d)”
Этот пример очень удобен при создании резервных копий, так как позволяет создавать файлы с текущей датой в именах.