Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО (Лупин) / Лабы / Лабы по Linux / Лабораторная работа 3.doc
Скачиваний:
71
Добавлен:
17.04.2013
Размер:
109.06 Кб
Скачать

Команды echo и read

Назначение: Для вывода данных в сценарии можно использовать командуecho, а для считывания входной информации в переменные – командуread. Командаechoпосылает данные на стандартное устройство вывода. То же самое она делает и в сценарии. Эти данные имеют форму строки символов. Командаecho может выводить не только строковые константы, но и значения переменных. Командаreadсчитывает значение, которое должно быть присвоено переменной. Она позволяет пользователю вводить значение переменной в интерактивном режиме. Фактически командаreadчитает строку со стандартного устройства ввода. Все, что посылается на стандартный ввод с клавиатуры – вплоть до символа новой строки – считывается и присвивается в качестве значения переменной. В программах можно объединять командыechoиread. С помощью комбинации этих команд пользователю предлагается ввести значение, которое затем считывается в переменную.

Синтаксис:

$ echo текст_выражения

Опции:

echon,e

-n выводит только одну строку текста, которая помещается по ширине экрана

-e включает распознование символов типа \ .

Команда echo и управляющие символы:

Символ Действие при печати

\bВозврат на один симол

\cПодавление перехода на новую строку

\f Перевод страницы

\n Новая строка

\rВозврат каретки

\tСимвол табуляции

\\Обратный слэш

Примеры:

Greetvar

echoPleas enter a greeting:

readgreeting

echo“The greeting you entered was $greeting”

$greetvar

Please enter a greeting:

Hi

The greeting you entered was hi

$

В сценарии greetvarпользователю предлагается ввести значение переменнойgreetvar. Командаreadсчитывает значение, введенное пользователем, и присваивает его переменнойgreeting.

Коды завершения

Переменная shell’а?содержит код завершения последней выполненной команды.

0команда выполнена без ошибки (true)

не 0команда завершена в связи с ошибкой (false)

Примеры:

$true

$echo $?

0

$ls

$echo $?

0

$ echo $?

0

$false

$echo $?

1

$cp

Usage : cp f1 f2

...

$echo $?

1

$echo $?

0

Команда test

Назначение:Командаtestоценивает истинность выражения и формирует код завершения, т.е. фактически сравнивает две величины и, если сравнение выполнено успешно, выдает код завершения 0. С помощью командыtestможно сравнивать целые числа, строки, файлы и даже выполнять логические операции. Команда состоит из ключевого словаtestи сравниваемых величин, разделенных опцией, которая задает тип сравнения. Существуют две строковые операции, в которыхвместо опции используется оператор. При сравнении двух строк на равенство используется знак=, при сравнении на неравенство применяются знаки!=. Вместо ключевого словаtestможно использовать квадратные скобки, которые должны быть выделены разделителями: пробелами, знаками табуляции или символами новой строки (т.е. нажатием клавишиEnter). Без разделителей квадратные скобки недействительны. Не забывайте о различиях между опциями, используемыми для строк, и опциями, используемыми для целых чисел.Shellтрактует все аргументы как числа в случае, если осуществляется сравнение чисел, и все аргументы как строки, если осуществляется сравнение строк. Общим правилом является необходимость заключений в двойные кавычки всех выражений вида$переменная, что предотвращает неподходящую замену переменныхshell’ом.

Синтаксис:

$ testзначение–опциязначение

$testстрока=строка

$test–опцияимя файла

или

$[значение–опциязначение ]

$[строка=строка]

$[ -опцияимя файла]

Опции:

Сравнение целыхФункция

-gtБольше чем

-lt Меньше чем

-geБольше или равно

-le Меньше или равно

-eqРавно

-neНе равно

Сравнение строкФункция

-zПроверка на строку нулевой длины

-n Проверка на строковое значение

=Проверка на равенство строк

!=Проверка на неравенство строк

strПроверка на строку ненулевой длины

Логические операцииФункция

-а Логическое И

-оЛогическое ИЛИ

!Логическое НЕ

Тестирование файловФункция

-fИстина, если файл существует и является обычным файлом, т.е. не

каталогом и не файлом устройства

-sИстина, если файл существует и его размер больше нуля

-rИстина, если файл существует и доступен для чтения

-wИстина, если файл существует и доступен для записи

-xИстина, если файл существует и доступен для выполнения

-dИстина, если файл существует и является именно каталогом

Примеры:

$[ $X-lt7 ]

$echo$?

0

$X=abc

$[ “$X” != “abc” ]

$echo $?

1

$ test -f file или [ -f file ]

$echo $?

0

Соседние файлы в папке Лабы по Linux