Главная » Просмотр файлов » Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание

Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666), страница 79

Файл №1114666 Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (Э. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание) 79 страницаЭ. Сивер, С. Спейнауэр, С. Фиггинс, Дж. П. Хекман - Linux cправочник - 3-е издание (1114666) страница 792019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 79)

7.15.532Глава 7. bash: командный интерпретатор БорнаТаблица 7.15. Символы перенаправления ввода/выводаСимволДействие>fileПеренаправление стандартного потока вывода в файл file<fileПолучение стандартного потока ввода из файла filecmdl | cmd2Конвейер. Стандартный поток вывода команды cmdl перенаправляется в стандартный поток ввода команды cmd2»fileПеренаправление стандартного потока вывода в файл file с добавлением данных к концу файла, если таковой уже существует>\ fileПринудительное перенаправление стандартного потока вывода в файлf i l e , даже в режиме работы noclobbern>\ fileПеренаправление вывода файлового дескриптора п в файл f i l e , даже врежиме работы noclobber<> fileИспользовать файл f i l e и как стандартный поток ввода, и как стандартный поток вывода«textВыполнять чтение из стандартного ввода до появления строки, идентичной строке text (строка может храниться в переменной окружения).

Ввод обычно осуществляется с клавиатуры. Программы, с которыми чаще всего используется этот синтаксис, - cat, echo, ex и sed.Если вводимый текст text заключается в кавычки, то в нем не подставляются значения переменных, результаты работы команд и т. п.n>fileПеренаправить файловый дескриптор п в f i l en<fileПрисвоить файлу file файловый дескриптор п>&nДублировать стандартный поток вывода в файловый дескриптор п<&nДублировать стандартный поток ввода из файлового дескриптора п&>fileПеренаправить стандартный поток вывода и стандартный поток ошибок в файл f i l e<&-Закрыть стандартный поток ввода>&-Закрыть стандартный поток выводаn>&-Закрыть вывод из файлового дескриптора пn<&-Закрыть ввод из файлового дескриптора пПримеры$ cat parti > book$ cat part2 parts » book$ mail tim < report$ grep Chapter part* 2> error_file$ sed 's/"/XX /' « END_ARCHIVE> This is often how a shell archive is "wrapped",> bundling text for distribution.

You would normallyСинтаксис533> run sed from a shell program, not from the command line.> END_ARCHIVEXX This is often how a shell archive is "wrapped",XX bundling text for distribution. You would normallyXX run sed from a shell program, not from the command line.Для того чтобы перенаправить стандартный поток вывода в стандартный поток ошибок, можно использовать следующую команду:$ echo "Usage error: see administrator" 1>&2Следующая команда записывает результат (список файлов) в файл filelist, aсообщения об ошибках (файлы, к которым нет доступа) - в файл no_access:$ find / -print > filelist 2>no_aocessСопроцессыСопроцессы являются уникальной возможностью интерпретатора bash и вдругих интерпретаторах не встречаются.СинтаксисДействиеcmdl \ стс/2 |&Сопроцессы; выполнять конвейерную последовательность в фоновом режиме.

Командный интерпретатор создает двунаправленныйконвейер, позволяя перенаправлять одновременно стандартныйввод и стандартный вывод.read -p varЧитать ввод сопроцесса в переменную var.print -p stringПередать строку string сопроцессу.cmd <&pВводом для команды cmd являются данные сопроцесса.cmd >&pВывод команды cmd перенаправляется сопроцессу.Примерыcat memoSufficient unto the day isA word to the wise.ed - memo |&print -p /word/read -p searchprint "Ssearch"A word to the wise.Отобразить содержимое файлаЗапустить сопроцессыПослать команду ed сопроцессуПрочитать вывод ed в переменную searchОтобразить строку на стандартный вывод534Глава 7.

bash: командный интерпретатор БорнаПеременныеПеременные предваряются символом $ и могут заключаться в фигурныескобки. Значения переменным можно присваивать с помощью знака равенства (=), пробелы по обе стороны которого не допустимы.$ TMP=temp.fileПо умолчанию переменные «видны» только в текущем сеансе интерпретатора. Чтобы передать переменную другим программам, выполняющимся в интерпретаторе, необходимо воспользоваться встроенной командой export.Если переменная индексируется числом в квадратных скобках ([]), она считается массивом. Например:$ DIR_LIST[0]=src$ DIR_LIST[1]=headers$ Is ${DIR_LIST[1]}Перечисляется содержимое каталога headers. Многие подстановки и команды в этой главе обрабатывают каждый элемент массива отдельно.В этом разделе представлены:• Подстановка переменных• Встроенные переменные интерпретатораПодстановка переменныхВ приводимых ниже подстановках фигурные скобки являются необязательными, кроме тех случаев, когда необходимо отделить имя переменной отследующих символов, которые в ином случае считались бы частью этогоимени.ПеременнаяЗначение${var}Значение переменной va r.Имя программы.Отдельные аргументы командной строки (позиционные параметры);Значение п лежит в интервале [1, 9].Количество аргументов командной строки.Все аргументы командной строки.Аналогично $ *, но содержимое разделяется на слова, если переменная заключена в двойные кавычки.Номер процесса текущего интерпретатора; часто используется какчасть имени файла при создании временных файлов с уникальнымиименами.$?Код завершения последней команды (0 обычно означает успешное завершение).ПеременныеПеременная535ЗначениеНомер процесса последней фоновой команды.Текущие параметры выполнения (см.

описание встроенной командыset). По умолчанию для сценариев имеет значение ЬВ, а для диалоговых интерпретаторов - hiniBH.Изначально имеет значение имени файла, выполненного для запускатекущего интерпретатора, затем заново устанавливается при выполнении каждой команды и имеет значение предыдущей команды, которая была выполнена.Ниже в табл. 7.16.-7.18. перечислены различные типы операторов, которыемогут применяться для работы с переменными в bash.Таблица 7.16.

Операторы, подстановкиОператорПодстановка${иагпате \-word]Если переменная varname существует и ее значение не пустое, вернуть это значение; иначе вернуть word.Назначение:Возврат значения по умолчанию, если переменная не определена.Пример:${ count:—0} принимает значение 0, если значение переменной count не определено.${varname:=word}Если переменная varname существует и ее значение не пустое, вернуть его; иначе установить значение переменной вword и вернуть значение word. Позиционные и специальныепараметры не могут получать значения таким образом.Назначение:Установка значения переменной по умолчанию, если переменная не определена.Пример:${count:=0} устанавливает значение переменной count в О,если значение переменной не определено.${varname:"!message}Если переменная varname существует и ее значение не пустое, вернуть это значение; иначе отобразить имя varname,сопроводив его сообщением message, а затем прекратить выполнение текущей команды или сценария (только в пакетном режиме работы интерпретатора).

Если параметр messageопущен, выводится стандартное сообщение «parameter nullor not set» (значение не существует или не установлено).Назначение:Предотвращение ошибок из-за неопределенности переменных.Пример:{$count:?»undefined!»} выдаст сообщение «count: undefined!» и завершит работу сценария, если переменная count неопределена.Глава 7.

bash: командный интерпретатор Борна536ОператорПодстановка${varname:+word}Если переменная varname существует и ее значение не пустое, вернуть word', иначе вернуть пустое значение.Назначение:Проверка существования переменной .Пример:${count:+l} возвращает 1 (которую можно интерпретировать как true), если переменная count определена.${#varname}Вернуть длину переменной varname.Назначение:Подготовка к замене или извлечению подстрок .Пример:Если ${USER} имеет значение root, то ${#USER} принимает значение 4.Таблица 7.17.

Операторы поиска по шаблонуОператорЗначение${variable#pattern}Если начало значения переменной соответствует шаблону,удалить соответствующую часть минимально возможнойдлины и вернуть остаток.${variable##pattern}Если начало значения переменной соответствует шаблону,удалить соответствующую часть максимально возможнойдлины и вернуть остаток.${variable% pattern}Если конец значения переменной соответствует шаблону,удалить соответствующую часть минимально возможнойдлины и вернуть остаток.${variable% %pattern) Если конец значения переменной соответствует шаблону,удалить соответствующую часть максимально возможнойдлины и вернуть остаток.${var/pat/sub}Вернуть значение переменной var, заменив первое вхождение pat на sub.

Может применяться к переменным $* и $@; вэтом случае каждое слово обрабатывается отдельно. Еслистрока pat начинается с символа #, происходит привязка кначалу строки var; если строка pat заканчивается символом%, то привязка к концу строки var.${var//pat/sub]Вернуть значение var, заменив все вхождения pat на sub.${variable:n}Усечь начало значения переменной и вернуть часть, котораяначинается с символа с порядковым номером п. Первый символ имеет номер 0.${variable:n:l}Вернуть подстроку длины I, которая начинается с символа спорядковым номером п. Первый символ имеет номер 0.Переменные537Таблица 7.18. Вычисление выраженийОператорЗначение$((arithmetic-expression))Вернуть результат вычисления выражения. Арифметические операторы описаны в разделе «Арифметическиевыражения».Пример:При выполнении TODAY='date +% -d' ; echo $((TODAY+7))номер текущего дня недели сохраняется в $TODAY, затем к этому значению прибавляется 7 (номер этого же дняна следующей неделе) и сумма выводится на экран.[[$condition]]Вернуть значение 1, если условие condition истинно, впротивном случае - 0.

Синтаксис условий приведен в описании встроенной команды test.Встроенные переменные интерпретатораВстроенные переменные автоматически устанавливаются интерпретатороми, как правило, используются в сценариях. Встроенные переменные могутработать с шаблонами подстановок переменных, которые описаны выше.При установке значений переменных символ $ не применяется, но при ихпоследующем использовании он необходим.В табл.

7.19.-7.22 описаны наиболее часто встречающиеся встроенные переменные bash.Таблица 7.19. Переменные, определяющие поведениеПеременнаяОписаниеauto resumeРазрешить переход фонового процесса в режим приоритетного выполнения при вводе подстроки, содержащейся в командной строке процесса. Возможные значения: substring(введенная команда является подстрокой исходной), exact(введенная команда в точности совпадает с исходной) либоиное значение (введенная команда совпадает с началом исходной).BASH_ENVФайл, содержащий выполняемые при старте команды; используется при вызове bash для выполнения сценария.CDPATHСписок каталогов, в которых выполняется поиск аргументакоманды cd; элементы разделяются двоеточием.EDITORПуть текстового редактора пользователя.IPSРазделитель слов; используется интерпретатором команддля разбора команд на элементы.IGNOREEOFЗапретить применение одиночной комбинации CTRL-D длявыхода из интерпретатора; при этом для выхода используется команда exit.Глава 7.

bash: командный интерпретатор Борна538ПеременнаяОписаниеPATHСписок каталогов, в которых происходит поиск выполняемых команд. Элементы списка разделяются двоеточием.PROMPT COMMAND Команда, выполняемая bash перед выдачей следующегоприглашения командной строки.PS1Первичное приглашение командной строки. В разделе «Переменные в приглашениях» описаны способы отображениядинамически меняющейся информации в приглашениях интерпретатора, в частности, текущего рабочего каталога илиномера команды в журнале.PS2Вторичное приглашение новой строки для незаконченнойкоманды.PS3Приглашение встроенной команды select.PS4Приглашение, отображаемое при отладке с параметром -х(см. раздел «Запуск интерпретатора») и встроенной командой set.Таблица 7,20. Переменные журнала командПеременнаяОписаниеFCEDITПуть редактора, используемого совместно с командой fc.HISTCMDПорядковый номер текущей команды в журнале команд.HISTCONTROL Если переменная имеет значение ignorespace, то строки, начинающиеся пробелом, не попадают в журнал команд.

Характеристики

Тип файла
PDF-файл
Размер
13,55 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее