Next Previous Contents

5. Переменные

Вы можете использовать переменные таким же образом, что и в любом языке программирования. Типы данных отсутствуют. Переменная в bash может представлять собой число, символ или строку символов.

Вам не следует объявлять переменную. В действительности, присвоение значения на её указатель уже создаёт её.

5.1 Пример: "Hello World!", использующий переменные

            #!/bin/bash          
            STR="Hello World!"
            echo $STR    
            

Вторая строка создаёт переменную, которая называется STR, и присваивает ей строчное значение "Hello World!". Затем ЗНАЧЕНИЕ этой переменной извлекается добавлением в начале знака '$'. Пожалуйста, запомните (постарайтесь), что если Вы не используете знак '$', вывод программы может быть другим. Вероятно, не таким, который Вам требуется.

5.2 Пример: очень простой скрипт резервного копирования (более эффективный)

#!/bin/bash
OF=/var/my-backup-$(date +%Y%m%d).tgz  #OF - Output File - выходной файл
tar -cZf $OF /home/me/
           

Данный скрипт вводит ещё одно понятие. Прежде всего, Вам следует разобраться со второй строкой. Обратите внимание на выражение '$(date +%Y%m%d)'. Если Вы запустите этот скрипт, то заметите, что он выполняет команду внутри скобок, перехватывая её вывод.

Обратите внимание, что в этом скрипте имя выходного файла будет ежедневно изменяться, исходя из формата ключа к команде date (+%Y%m%d). Вы можете поменять это заданием другого формата.

Другие примеры:

echo ls

echo $(ls)

5.3 Локальные переменные

Локальные переменные могут быть созданы при использовании ключевого слова local.

                #!/bin/bash
                HELLO=Hello 
                function hello {
                        local HELLO=World
                        echo $HELLO
                }
                echo $HELLO
                hello
                echo $HELLO
        

Данного примера должно быть достаточно для отображения способов использования локальных переменных.


Next Previous Contents
Используются технологии uCoz