Мегаобучалка Главная | О нас | Обратная связь


Перенаправление ввода-вывода.



2019-07-04 192 Обсуждений (0)
Перенаправление ввода-вывода. 0.00 из 5.00 0 оценок




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

 

Символ Функция Пример
< Перенаправление ввода из файла program < in_file
> Перенаправление вывода в файл program > out_file
>> Перенаправление вывода в файл с добавлением Program >> out_file

Пайпы. Две или более программ могут быть объединены таким образом что результат одной программы попадет на вход другой. При этом данные от одной программы к другой следуют через програмный канал, например:

 

program1 | program2 | program3

или более реалистичный пример:

 

       ls –l /etc | more

Примечание: пайпы всегда работают лишь в одном направлении – со стандартного выхода одной к стандартному входу другой программы. 

 

Расширение имен файлов.

 

В целях уменьшения количества набираемых символов при вводе имен файлов шел поддерживает метасимволы. Нпример для того чтобы вывести листинг всех файлов в текущей директории имена которых начинаются с буквы a достаточно воспользоваться командой ls –l a*

 

ниже приведена таблица основных метасимволов

 

Метасимвол Описание
* Означает любой символ в любом количестве
~ Означает путь к домашнему каталогу
? Любой символ в количестве один или больше
[ … ] Равенство любого одного из символов заключенных в скобки. Пара символов разделенная знаком минус означает любой символ из промежутка между ними. Например [a-zA-Z] – любаялатинская буква

Shell скрипты

Выполнение скриптов.

 

Несколько команд обьедененных одной последовательностью выполнения называется скриптом. Например последовательное выполнения команд, пайпы являются простейшими скриптами. Обычно команды из которых состоят скрипты сохраняют в файлах. Для запуска скрипта можно воспользоваться двумя методами:

 

sh <имя_файла_скрипта>

или установить атрибут выполняемости на файл командой

 

chmod +x <имя_файла_скрипта>

 

После чего можно выполнять скрипт:

 

           ./<имя_файла_скрипта>

Вывод текста.

 

Для формирования вывода текстовой информации в скриптах используют команду

 

echo “строка

Файл .profile .  

 

Каждый раз во время входа в систему Bourne Shell автоматически запускает файл .profile (скрипт) находящийся в вашей домашней директории. Этот скрипт устанавливает “окружение” в котором Вам предстоит работать. Это различные переменные окружения отвечающие за вид системной подсказки, путь поиска исполняемых файлов, тип терминала и.т.п. Приведем список основных переменных окружения.

 

· PATH устанавливает путь поиска исполняемых файлов и представляет собой набор директорий разделенных двоеточием

· MAIL определяет имя файла почтового ящика для уведомления о приходе новой электронной почты

· MAILCHECK параметр показывающий как часто (в секундах) следует проверять почтовый ящик на предмет прихода новой почты

· HOME определяет домашний каталог (каталог по умолчанию). Команда cd без параметров выполняет переход в этот каталог.

· PS1 основная системная подсказка (по умолчаию $)

· PS2 вторичная системная подсказка (по умолчанию >)

· SHELL имя логин шелла пользователя

· TERM тип терминала пользователя

· EDITOR имя текстового редактора по умолчанию

 

Устанавливать переменные окружения можно по разному. Например команды

 

PATH=/bin:/usr/bin:/usr/sbin:/usr/contrib/bin:/usr/local/bin

и

           

       PATH=/bin:/usr/bin:/usr/sbin

       PATH=$PATH: :/usr/contrib/bin:/usr/local/bin

 

полностью эквивалентны. Для того чтобы эти переменные вошли в системное окружение (кроме шела, стали доступны и другим программам) необходимо выполнит команду

 

export <имя_переменной>

Комментарии.

Текст следующий за символом # рассматривается шелом как комментарий и не оказывает никакого влияния на работу скрипта.

 

Основы программирования на языке shell

 

Параметры.

 

В дополнение к стандартным параметрам шела можно создавать свои параметры, кторые затем можно использовать в командах. Например

            

$ x=test

$ echo $x

test

 

$ aaa=/

$ ls $aaa

 

cdrom              home nsmail              tcb     var

SD_CDROM  dev    lib                      opt     tmp

TT_DB etc     lost+found       sbin   tmp_mnt

Bin                    export net                     stand usr

 

При включении параметров в строку или в выражение знак $ должен предшествовать параметру. Также необходимо пользоваться следующими правилами:

 

${parameter}                  значение параметра заключенного в скобки будет использовано в выражении. Скобки {} используются когда за параметром следуют буквы или цифры не относящиеся к парамаметру. Например если значение параметра xxx равно test то значение выражения ${xxx}123 будет равняться test123

 

${parameter:-word}      если параметр установлен и не пустой то результатом выражения будет являться значение параметра, в противном случае в результате будет использовано значение параметра word. Например: ${xxx:-/usr/bin/sh}

                                           если xxx пустой то результатом выражения будет являться строка /usr/bin/sh

 

${parameter:=word}     если параметр неустановлен или пустой, тогда значение word будет результатом выражения.

${parameter:+word}     если параметр установлен и не пустой, тогда результатом выражения является word, в противном случае результат пустой.

 



2019-07-04 192 Обсуждений (0)
Перенаправление ввода-вывода. 0.00 из 5.00 0 оценок









Обсуждение в статье: Перенаправление ввода-вывода.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (192)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)