Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Присвоение значений переменным




Существует еще несколько способов присвоения значения переменной:

· использование команды read для присвоения ввода переменной;

· перенаправление вывода команды в переменную;

· присвоение позиционного параметра переменной.

 

Использование команды read

Общий формат команды read:

read variable<ENTER>

Значение, присвоенное командой read переменной variable, будет заменять $variable где бы она не встречалась в программе пользователя.

Команда read будет ждать до тех пор, пока вы не введете строку символов и нажмете клавишу <ENTER>, тем самым присваивая строку переменной.

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

cat num.please<ENTER>

echo Введите имя:

Read name

grep $name home/list

Создайте файл list, содержащий несколько фамилий и номеров телефонов. И теперь запустите файл num.please. В следующем примере приводится текст программы mknum, которая создает список номеров телефонов и абонентов.

Если вы хотите, чтобы вывод команды echo добавлялся в конец списка, то вы должны использовать >>. Если вы будете использовать >, то список будет состоять из последнего номера телефона, который вы добавили.

С помощью команды cat:

cat mknum<ENTER>

отобразите содержание программы mknum:

Echo Введите имя

Read name

Echo Введите номер

Read num

echo $name $num >> list

Сделайте mknum выполняемой программой:

chmod u+x mknum<ENTER>

 

4.6. Арифметические операции: команда let

Команда let - это команда интерпретатора BASH shell, обеспечивающая выполнение операций над арифметическими величинами. С помощью этой команды можно сравнивать числовые значения или выполнять над ними арифметические операции, такие как сложение или умножение. Команда let задается либо с помощью ключевого слова let, либо посредством двойных круглых скобок. Базовый формат команды включает ключевое слово let, за которым следуют два числовых значения, разделенных арифметическим оператором либо оператором сравнения:

$ let значение1 оператор значение2

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

$ T=2+3

$ echo $T

2+3

$ let T=2+3

$ echo $T

В shell -сценариях может использоваться любой из перечисленных в таблице 1 операторов.

Ключевое слово let можно использовать и без оператора присваивания.

$ let 2*7

Если в арифметическом выражении между операндами необходимо поместить пробелы, выражение следует заключить в кавычки. Аргументом команды let может быть только одно арифметическое выражение, например: $ let "2V*V7"

 

Таблица 1

Арифметические операторы Функции
* Умножение
/ Деление
+ Сложение
- Вычитание
Логические операторы Функции
> Больше чем
< Меньше чем
>= Больше либо равно
<= Меньше либо равно
= Равенство в выражениях
!= Не равно

 

Конструкции языка программирования Shell

Язык программирования shell имеет несколько конструкций, которые придадут гибкость вашим программам:

· комментарии позволят описывать функции программы;

· команда exit позволяет завершать программу в нужной точке и использовать коды возврата;

· конструкции цикла for, while позволяют повторять группу команд в цикле;

· условные команды if и case выполняют группу команд, если выполнилось некоторое условие;

· команда break позволяет выполнить безусловный выход из цикла.

 

Комментарии

Чтобы в программе разместить комментарии, воспользуйтесь знаком #. Если знак # стоит после команды, то сама команда выполняется, а комментарий игнорируется. Формат строки комментария:

#comment<ENTER>

 

Циклы

Операторы цикла for и while позволяют выполнить команду или последовательность команд несколько раз.

 

Оператор for

Оператор for выполняет последовательность команд для каждого элемента списка. Он имеет формат:

for переменная <ENTER>

in значения переменной <ENTER>

do<ENTER>

команда_1 <ENTER>

последняя команда <ENTER>

done<ENTER>

Для каждой итерации цикла следующий элемент списка присваивается переменной, данной в операторе for. Ссылка на эту переменную может быть сделана в любом месте в командах внутри оператора do. При конструировании каждой секции команд вам необходимо убедиться, что каждому do соответствует done в конце цикла. Переменная может иметь любое имя. Например, если ваша переменная названа var, то ссылка в списке команд на $var сделает значение доступным. Если оператор in опущен, то значением для var будет набор аргументов, заданный в команде и доступный в специальном параметре $*. Список команд между ключевым словом do и done будет выполнен для каждого значения.

Когда команды будут выполнены для последнего элемента списка, программа будет выполнять строку ниже done.

 

Оператор while

Оператор цикла while использует 2 группы команд. Он будет выполнять последовательность команд во второй группе (список do... done) до тех пор, пока последняя команда в первой группе (список while) возвращает состояние "истина", означающее, что выражение после do может быть выполнено.

Общий формат оператора цикла while:

while<ENTER>

команда_1 <ENTER>

последняя команда <ENTER>

do<ENTER>

команда _1 <ENTER>

последняя команда <ENTER>

done<ENTER>

Например, программа enter.name использует цикл while для ввода списка имен в файл. Программа состоит из следующих командных строк:

echo “Введите пожалуйста список имён <ENTER>

echo “после завершения ввода нажмите <Ctrl+D>

While read x

Do

echo $x>>xfile

Done

echo xfile содержит следующие имена:

Cat xfile

Их можно просмотреть, введя команду:

cat enter.name<ENTER>

Обратите внимание, что после завершения цикла программа выполняет команды ниже done.

После того, как цикл завершится, программа распечатает все имена, содержащиеся в xfile.

 

 





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 885 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2525 - | 2336 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.