Linux Mint    Ubuntu    openSUSE    Asterisk    FreeBSD    Android    Nokia N900    Игры в Linux
 Linux Mint    Ubuntu     openSUSE     Asterisk     FreeBSD     Android     N900     Games

Изучаем Bash: Работаем с переменными

Доброго времени суток уважаемые посетители и активные участники нашего проекта! :) Сегодня я продолжу статьи из серии "Изучаем Bash" и рассмотрим такое важное дело, как переменные.

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

Объявление переменной делается следующим образом:

#!/bin/bash

a="Привет всем!"

echo "$a"

При запуске данного скрипта, в терминале появится надпись "Привет всем!". В нашем примере переменной является "a", которой я присвоил значение "Привет всем!". Стоит отметить, что если бы значение переменной состояло из одного слова, то ковычки " " можно было бы упустить.

Ссылка на переменную осуществляется символом $. Как видно из нашего примера, имя переменной у нас "a", а ссылка на нее "$a".

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

#!/bin/bash

a=`date`

echo "$a"

В значение переменной, мы записали команду date, чтобы команда выполнилась и ее результат подставился в переменную, берем команду в обратные одинарные ковычки ` `. Данный скрипт выведет на экран сегодняшнею дату и время. Аналогично тому, если бы просто ввели бы в терминале команду:

date

Я же рассмотрел, как это сделать с применением переменной :)

Теперь давайте усложним наши действия и применим, немного из того, что я ранее излогал в предыдущих статьях "Изучаем Bash".

Итак, допустим имеется файл с названием test.txt, в котором одна из строк: /home/user/Download. Нам нужно сделать так, чтобы при запуске скрипта за место "user" вставлялось имя пользователя, который его запускает у себя в системе. И далее скрипт должен указать на каких сторчках он заменил "user" на имя пользователя.

#!/bin/bash

a=`whoami`     # В значение переменной записывается результат команды whoami

sed -i 's/user/'$a'/g' /home/maxim/test.txt          # Заменются все "user" на нашу переменную "a"

grep -n "$a" /home/maxim/test.txt          # Считываются все строки, где встречается наша переменная "a" и выводится их номер

Как мы видим, мы использовали две ранее уже изученные команды, sed и grep.

Вот так вот! :)

Рад ответить на все вопросы! :)

Linux_man аватар

читаем тут :)