Глава 11. Внутренние команды

Глава 11. Внутренние команды

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

Действие, когда какая либо команда или сама командная оболочка инициирует (порождает) новый подпроцесс, что бы выполнить какую либо работу, называется ветвлением (forking) процесса. Новый процесс называется "дочерним" (или "потомком"), а породивший его процесс -- "родительским" (или "предком"). В результате и потомок и предок продолжают исполняться одновременно -- параллельно друг другу.

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

Внутренние команды могут иметь внешние аналоги. Например, внутренняя команда Bash -- echo имеет внешний аналог /bin/echo и их поведение практически идентично.

#!/bin/bash

echo "Эта строка выводится внутренней командой "echo"."

/bin/echo "А эта строка выводится внешней командой the /bin/echo."

Ключевое слово (keyword) -- это зарезервированное слово, синтаксический элемент (token) или оператор. Ключевые слова имеют специальное назначение для командного интерпретатора, и фактически являются элементами синтаксиса языка командной оболочки. В качестве примера можно привести "for", "while", "do", "!", которые являются ключевыми (или зарезервированными) словами. Подобно встроенным командам, ключевые слова жестко зашиты в Bash, но в отличие от встроенных команд, ключевые слова не являются командами как таковыми, хотя при этом могут являться их составной частью[ 24 ].

Ввод/вывод

echo

выводит (на stdout) выражение или содержимое переменной (см. Пример 4-1).

echo Hello

echo $a

Для вывода экранированных символов, echo требует наличие ключа -e. См. Пример 5-2.

Обычно, командв echo выводит в конце символ перевода строки. Подавить вывод это символа можно ключом -n.

Команда echo может использоваться для передачи информации по конвейеру другим командам.

if echo "$VAR" | grep -q txt # if [[ $VAR = *txt* ]]

then

echo "$VAR содержит подстроку "txt""

fi

Кроме того, команда echo, в комбинации с подстановкой команд может учавствовать в операции присвоения значения переменной.

a=`echo "HELLO" | tr A-Z a-z`

См. так же Пример 12-15, Пример 12-2, Пример 12-32 и Пример 12-33.

Следует запомнить, что команда echo `command` удалит все символы перевода строки, которые будут выведены командой command.

Переменная $IFS обычно содержит символ перевода строки , как один из вариантов пробельного символа. Bash разобьет вывод команды command, по пробельным символам, на аргументы и передаст их команде echo, которая выведет эти аргументы, разделенные пробелами.

bash$ ls -l /usr/share/apps/kjezz/sounds

-rw-r--r-- 1 root root 1407 Nov 7 2000 reflect.au

-rw-r--r-- 1 root root 362 Nov 7 2000 seconds.au

bash$ echo `ls -l /usr/share/apps/kjezz/sounds`

total 40 -rw-r--r-- 1 root root 716 Nov 7 2000 reflect.au -rw-r--r-- 1 root root 362 Nov 7 2000 seconds.au

Это встроенная команда Bash и имеет внешний аналог /bin/echo.

bash$ type -a echo

echo is a shell builtin

echo is /bin/echo

printf

printf -- команда форматированного вывода, расширенный вариант команды echo и ограниченный вариант библиотечной функции printf() в языке C, к тому же синтаксис их несколько отдичается друг от друга.

printf format-string... parameter...

Это встроенная команда Bash. Имеет внешний аналог /bin/printf или /usr/bin/printf. За более подробной информацией обращайтесь к страницам справочного руководства man 1 printf по системным командам.

Старые версии Bash могут не поддерживать команду printf.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 11 Команды оформления чертежей

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Глава 11 Команды оформления чертежей Штриховка Штрихование – это заполнение указанной области по определенному образцу. При этом можно выбрать один из способов определения контуров штриховки: указать точку в области, ограниченной объектами, или выбрать объекты,


ГЛАВА 2 Запросы и команды на языке SQL

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

ГЛАВА 2 Запросы и команды на языке SQL В главе 1, "Основы построения баз данных", где демонстрируется создание базы данных с помощью Visual Studio .NET и SQL Server, вы познакомились со структурой базы данных и ее таблиц. В настоящей главе основное внимание уделяется манипулированию


Глава 10 Команды оформления чертежей

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Глава 10 Команды оформления чертежей Штриховка Команда ВНАТСН, формирующая ассоциативную штриховку, вызывается из падающего меню Draw ? Hatch... или щелчком на пиктограмме Hatch... на панели инструментов Draw. При обращении к команде ВНАТСН загружается диалоговое окно Hatch and Gradient,


3.1.4. Внутренние границы

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

3.1.4. Внутренние границы В Unix действует предположение о том, что программист знает лучше (чем система). Система не остановит пользователя и не потребует какого-либо подтверждения при выполнении опасных действий с данными, таких как ввод команды rm -rf *. С другой стороны, Unix


3.1.4. Внутренние границы

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

3.1.4. Внутренние границы В Unix действует предположение о том, что программист знает лучше (чем система). Система не остановит пользователя и не потребует какого-либо подтверждения при выполнении опасных действий с данными, таких как ввод команды rm -rf *. С другой стороны, Unix


3.11. Внутренние модификаторы

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

3.11. Внутренние модификаторы Обычно модификаторы (например, i или m) задаются после регулярного выражения. Но что если мы хотим применить модификатор только к части выражения?Существует специальная нотация для включения и выключения модификаторов. Заключенный в круглые


Глава 25 Мастер команды

Из книги Принцип Касперского [Телохранитель Интернета] автора Дорофеев Владислав Юрьевич


Глава 11 Команды оформления чертежей

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Глава 11 Команды оформления чертежей Штриховка Контур Область Маскировка Простановка размеров Линейные размеры Параллельный размер Длина дуги Ординатные размеры Размер радиуса Размер радиуса с изломом Размер диаметра Угловые размеры Быстрое нанесение размеров


Внутренние устройства

Из книги Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD автора Буковецкая Оксана Александровна

Внутренние устройства Наибольшее число моделей устройств видеоввода реализовано в виде плат. Наверняка даже самым «неискушенным» читателям встречались названия такого рода: «плата в стандарте PCI» (Peripheral Component Interconnect – соединение периферийных компонентов). Сейчас самое


Глава 3 Команды главного меню

Из книги CorelDRAW X4. Начали! автора Жвалевский Андрей Валентинович

Глава 3 Команды главного меню Как уже говорилось ранее, в главном меню собраны все команды программы. В данной книге мы не ставили задачу дать детальное описание меню – для этого существуют подробные руководства пользователя. Поэтому многие команды будут описаны кратко,


Глава 12. Внешние команды, программы и утилиты

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Глава 12. Внешние команды, программы и утилиты Благодаря стандартизации набора команд UNIX-систем, сценарии, на языке командной оболочки, могут быть легко перенесены из системы в систему практически без изменений. Мощь сценариев складывется из наборв системных команд и


Внутренние факторы

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

Внутренние факторы В 1994 году увидела свет первая полнотекстовая поисковая система под названием WebCrawler. Произошла революция: ранее информация в Сети структурировалась исключительно в виде каталогов ссылок, сгруппированных по тематическому признаку. Следом на орбиту


Внутренние ссылки

Из книги автора

Внутренние ссылки Внутренние ссылки организуют переходы внутри одного HTML-документа. Они применяются, когда на одной странице много текста. Для простоты навигации можно создать ссылки, при щелчке кнопкой мыши на которых пользователь автоматически перейдет к нужной