Home

Page 18
Page 18
background image

U

ser

  

A

nd

LINUX

Programming

ualinux.com

18

U & L  

1 1 - 0 1

в реальном программировании является команда printf, 

которая имеет больше возможностей, если вы знакомы с 

программированием на C. Ну и на самом деле, точно такой 

же результат можно было бы получить и без написания 

скрипта:

echo «Hello World”
Hello World

Написание скриптов на bash предлагает широкий 

спектр возможностей и этому легко научиться. Как вы 

только что могли видеть, здесь используются разные ко-

манды Linux, чтобы писать собственные скрипты. Ваша 

программа-оболочка представляет собой несколько дру-

гих программ, собранных вместе для выполнения какой-

либо задачи.

ДРУГИЕ ПОЛЕЗНЫЕ ПРОГРАММЫ

Сейчас мы напишем программу, которая переместит 

все файлы в каталог, удалит его вместе с содержимым, а 

затем создаст это каталог заново. Это может быть сделано 

с помощью следующих команд (В примере, приведенном 

в оригинале автор показывает, что не зря рекомендовал 

делать приведенные упражнения под специально создан-

ным пользователем. Результатом выполнения данной по-

следовательности команд будет чистый каталог, в котором 

вы работаете. Скорее всего это будет ваша домашняя ди-

ректория. Поэтому, если вы НЕ хотите удаления всех фай-

лов в ней – НЕ выполняйте команды из оригинала статьи. 

А лучше последуйте совету автора и создайте отдельно-

го пользователя специально для тренировки написания 

скриптов. Этот пример я немного расширил и теперь он не 

такой опасный. – Прим. перев.):

touch fi le1
mkdir trash
mv fi le1 trash
rm -rf trash
mkdir trash

Вместо того, чтобы вводить это все в интерактивном ре-

жиме, напишем скрипт, выполняющий эти команды:

#!/bin/bash
touch fi le1
mkdir trash
mv fi le1 trash
rm -rf trash
mkdir trash
echo “Файл удален!”

Сохраните его под именем clean.sh и теперь все, что 

нужно сделать – запустить его. Он переместит все файлы 

в каталог, удалит его, создаст заново каталог и даже напе-

чатает сообщение об удалении файлов. Запомните, если 

вы обнаружите, что регулярно делаете нечто требующее 

набора одной и той же последовательности команд – это 

вполне можно автоматизировать написанием скрипта.

КОММЕНТАРИИ

Комментарии помогают сделать ваш код более чита-

бельным. Они не влияют на то, что выводит программа. 

Они написаны специально для того, чтобы вы их прочли. 

Все комментарии в Bash начинаются с хэш-символа #, за 

исключением первой строки (#!/bin/bash), имеющей спе-

циальное назначение. Первая строка – не комментарий. 

Возьмем для примера следующий код:

#!/bin/bash
# Эта программа считает от 1 до 10:
for i in 1 2 3 4 5 6 7 8 9 10; do
echo $i
done

Даже если вы пока не понимаете скрипты на Bash, вы 

сразу же поймете, что делает приведенный выше пример, 

благодаря комментарию. Комментирование кода – хо-

рошая практика. Со временем вы поймете, что, если вам 

нужно будет поддерживать ваши скрипты, то при наличии 

комментированного кода – делать это станет легче.

ПЕРЕМЕННЫЕ

Переменные это просто «контейнеры», которые содер-

жат некоторые значения. Создавать их нужно по многим 

причинам. Вам нужно будет как-то сохранять вводимые 

пользователем данные, аргументы или числовые величи-

ны. Например:

#!/bin/bash
x=12
echo ”Значение переменной x - $x”

Здесь мы присвоили переменной x значение 12. Стро-

ка echo “Значение переменной х - $x” напечатает текущее 

значение x. При определении переменной не допускается 

наличие каких-то пробелов между именем переменной и 

оператором присваивания: «=». Синтаксис следующий:

имя_переменной=ее_значение

Обращение к переменным выполняется с помощью 

префикса «$» перед именем переменной. Именно таким 

образом мы получаем доступ к значению переменной х с 

помощью команды echo $x.

Есть два типа переменных – локальные и переменные 

окружения (среды). Переменные окружения устанавлива-


Copyright © 2021 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.