- •Министерство образования Российской Федерации
- •Введение Лабораторная работа №1 основы интерактивной работы в Linux
- •Программа работы
- •Пояснение к работе Пользователи.
- •Сеанс работы.
- •Работа в консоли.
- •Монтирование каталога oc NetWare
- •Интерпретатор команд.
- •Справочная система man, xman, info.
- •Программа Midnight Commander.
- •Завершение сеанса работы в ос unix.
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа № 2 команды файловой системы текстовый редактор VI
- •Программа работы
- •Пояснения к работе Команды для работы с каталогами
- •Смена текущего каталога с помощью команды cd.
- •Выдача информации о файлах и каталогах с помощью команды ls
- •Создание каталога с помощью команды mkdir
- •Удаление каталогов с помощью команды rmdir
- •Команды работы с файлами
- •Копирование файлов(каталогов) с помощью команды ср
- •Перемещение файлов (каталогов) с помощью команды mv
- •Конкатенация файлов с помощью команды cat
- •Удаление файлов с помощью команды rm
- •Перенаправление ввода и вывода и конвейеризация
- •Запуск команд
- •Текстовый редактор VI
- •Начала VI
- •Вставка текста
- •Удаление текста
- •Изменение текста
- •Команды перемещения
- •Сохранение файлов и выход из VI
- •Редактирование еще одного файла
- •Включение других файлов
- •Выполнение команд Shell
- •Получение помощи
- •Контрольные вопросы
- •Содержание отчета
- •Синтаксис скрипта.
- •Команды функции и программы.
- •Шаблоны
- •Переменные
- •Переменные окружения
- •Внутренние переменные
- •Условные выражения
- •Селекторы
- •Варианты заданий
- •Контрольные вопросы
- •Содержание отчета
- •Библиографический список
Селекторы
Оператор case предоставляет удобную форму для множественного выбора:
case слово in
шаблон1)
command
. . .
;;
шаблон2)
command
. . .
;;
. . .
*)
command
. . .
;;
Значение слова сравнивается с шаблонами ,начиная с первого. Если совпадение найдено, то выполняются команды соответствующего раздела. Шаблоны допускают наличие масок. Последний раздел с шаблоном *) аналогичен разделу default в синтаксисе оператора switct языка Си.
Ввод
Присвоение значений переменных может осуществляться явно или с помощью некоторой программы. Команда read предоставляет возможность присвоить переменным значения, которые считываются из стандартного потока ввода. Это может быть строка, введенная пользователем или считанная из файла в случае перенаправления потока. Если число слов в строке превышает число переменных, то в последней переменной будут сохранены все оставшиеся слова.
Пример:
Текст скрипта: #!/bin/bash echo "input: " while read var1 var2 var3 do echo var1=$var1 echo var2=$var2 echo var3=$var3 echo "input: " done |
Запуск скрипта: input: пример работы команды read var1=пример var2=работы var3=команды read input: еще пример var1=еще var2=пример var3= input: ^D |
Варианты заданий
Для демонстрации работы скриптов, позаботьтесь о создании в рабочем каталоге необходимых демонстрационных каталогов и файлов; ххх – первые буквы фамилии автора; каждый скрипт начинается с выдачи заголовка с информацией об авторе; каждый скрипт предусматривает ввод аргументов, как с помощью параметров, так и с клавиатуры в случае отсутствия параметров; если параметр некорректный – выдать сообщение и выйти с кодом ошибки; код ошибки – последние 2 цифры зачетки.
Напишите скрипт, который выводит список файлов, находящихся в текущем каталоге, в строку, а затем в столбик.
Напишите скрипт, который ищет в каталоге имена файлов, которые оканчиваются на .ххх и выводит результаты в файл ххххх.list, а затем на терминал.
Напишите скрипт, который в каталоге находит из всех файлов строчки, содержащие слово ххх. (2 параметра – имя каталога и ххх)
Напишите скрипт, который проверяет первый аргумент, и если он является обычным файлом, выводит сначала первые 5 строк, затем последние 5 строк.
Не используя команду ls, напишите скрипт, который выводит список файлов, расположенных в текущем каталоге. Используйте оператор for.
Напишите скрипт, который выводит список аргументов, с которыми он был запущен. Если имя аргумент совпадает с именем файла или подкаталога из текущего каталога – выдать это имя сообщение, иначе – записать его в файл ххх.lst.
Контрольные вопросы
Что собой представляет shell-программа?
Что собой представляет shell-команда?
Что собой представляет shell-язык?
Дайте определение командного файла.
Какие свойства оболочки показались Вам наиболее полезными и почему?
Объясните, в чем разница между циклами:
-
for i in *
for i in $*
Содержание отчета
Тексты скриптов, согласно варианта.
Результаты работы скриптов.
Ответы на контрольные вопросы.
Выводы.