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


Возможности подстановок



2019-07-04 185 Обсуждений (0)
Возможности подстановок 0.00 из 5.00 0 оценок




К новым подстановкам параметров не рассмотреным при рассмотрении Bourne Shell можно отнести

 

${parameter#pattern}             Если шаблон pattern равен началу параметра

${parameter##pattern}           parameter , то вырезать из параметра этот шаблон и результат присвоить выражению. В первой форме шаблон вырезается до первого совпадения, во второй – до последнего.

 

${parameter%pattern}            Если шаблон pattern равен окончанию параметра

${parameter%%pattern}         parameter , то вырезать из параметра этот шаблон и результат присвоить выражению. В первой форме шаблон вырезается до первого совпадения, во второй – до последнего.

Командная строчка и история команд

Установив переменную окружения VISUAL на один из системных текстовых редакторов (vi, emacs, gmacs) можно получить возможность редактировать строку ввода используя команды выбраного редактора. При этом помимо редактирования текущей команды, можно выполнять перемещение по истории команд (клавиши ESC j ,ESC k). По умолчанию история команд хранится в файле .sh_history однако его можно изменить установив переменную окружения $HISTFILE . Количество хранимых команд определяется переменной $HISTSIZE. Двойное нажатие на клавишу ESC помогает раскрывать имена файлов в каталогах.

Управление заданиями

Задания в ksh и POSIX Shell имеют тот же смысл что и рассмотренные ранее в csh. Для управления заданиями испльзуется команда jobs . Запущенная без параметров она показвывает список заданий. Иногда возникает необходимость отложить на некоторое время выполнение текущего задания. Этого можно добиться послав сигнал SIGSTOP текущему процессу. Этого можно добиться комбинацией клавиш: Cntrl-Z.

 

Примечание: предварительно (обычно это ставиться в startup скриптах шеллов) должна быть выполнена команда stty susp <Cntr-Z> которая связывает эту комбинацию клавиш с посылкой сигнала SIGSTOP процессу (генерация символа suspend).

Для перевода отложеного (приостановленого задания) в фоновый режим нужно воспользоваться командой bg

 

           bg %job_number      перевод задания с номером job_number в фоновый режим

           bg %%                   перевод текущего задания фоновый режим

           bg %+                    перевод текущего задания фоновый режим

           bg                          перевод текущего задания фоновый режим

           bg %-                     перевод предыдущего задания фоновый режим

 

Для возврата задания в интерактывный режим нужно использовать команду fg. Синтаксис ее полностью аналогичный команде bg.

Встроенная в шелл команда kill допускает использования тех же аргументов что и bg и fg для посылки сигналов заданиям.

 

Программирование скриптов

Все основные управляющие структуры ksh и POSIX Shell полностью повторяют аналогичные в Bourne Shell. Поэтому остановимся более подробно на новых возможностях предоставляемых этими шелами.

 

Команда select

 

select parameter in words

do

       command_lines

done

 

Эта команда помогает организовать интерактивный диалог. Она выводит список слов words в виде меню с возможностью выбора, а после выбора пользователем элемента списка она запускает команды из списка command_lines , при этом выбранное пользователем слово доступно командам из списка как параметр parameter.

Двунаправленные пайпы

Korn Shell имеет в своем арсенале механизм позволяющий порождать процессы-потомки соединенные пайпом с родительским шеллом. Стандартный ввод и стандартный потомка может быть доступен из родительского шела. Для создания двунаправленого пайпа нужно использовать конструкцию |& после запускаемой команды.Доступ к пайпу из скрипта может быть получен посредством команд print –p и read –p . Рассмотрим пример использования двунаправленых пайпов:

 

       #!/usr/bin/ksh

 

bc |&

 

read a b

print -p "$a * $b"

read -p mul

echo $mul

 

Замечания:

Использование двунаправленых пайпов оправдано лишь с командами которые работают с устройствами стандартного ввода и вывода, но не напрямую с терминалом (как например редактор vi).

 

Не существует способа закрыть двунаправленный файл, поэтому в них нельзя использовать команды требующие вначале получения символа конца файла EOF (например программа sort) прежде чем выдать результат.

 

Команда typeset (только в Korn Shell)

 

           typeset [-option ] [name[=value]] …]

 

Эта команда создает переменную, назначает ей значение и определяет ее тип. Основные опции команды:

 

           -i        переменная name имеет тип integer

           -r        переменная name является readonly

           -l        конвертировать все символы с верхнего регистра в нижний

           -u       конвертировать все символы с нижнего регистра в верхний

           -x       автоматический експорт переменной

           -R      выравнивание текста по правому краю

           -L       выравнивание текста по левому краю

 

Команда let

 

Эта команда практически аналогична команде expr в Bourne Shell и используется для вычисления в простых математических выражениях. Пример использования:

               

           $ x=10

$ let x=2*x+5-3/x

$ echo $x

25

 

Команда ulimit (только в Korn Shell)

ulimit [-f n ]

 

Эта команда задает ограничение n  блоков на файлы записанные на диск порожденными процессами. Запущеная без аргументов показывет текущий лимит.

Массивы

Для доступа к елементам массива используют следующий синтаксис:

 

array_name [subscript]=value

 

например:

 

       $ a[0]=10

$ a[1]=xxx

$ a[2]=tt

$ echo ${a[1]}

xxx

$ echo ${a[*]}

10 xxx tt


Key Shell (keysh).

 

       Это меню-ориентированный интерактивный шелл разработанный компанией Hewlett-Packard для создания дружественного интерфейса к Korn Shell. Шелл содержит последовательности горячих клавиш для быстрого просмотра списка файлов, задач принтера и просмотра файлов, которые он автоматически транслирует в команды HP-UX.

Key Shell содержит все необходимые свойства и возможности Korn Shell (см. Korn Shell). Дополнительные возможности – шелл содержит интерактивную справку, горячие клавиши (видимые) , невидимые последовательности горячих клавиш, строку состояния, возможность конфигурирования.

 



2019-07-04 185 Обсуждений (0)
Возможности подстановок 0.00 из 5.00 0 оценок









Обсуждение в статье: Возможности подстановок

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

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

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



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

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

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

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

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

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



(0.007 сек.)