Программирование на Shell
Shell — это интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с ОС. Название в переводе на русский («оболочка», «скорлупа») отражает суть: shell окружает ядро ОС, предоставляя пользователю доступ к сервисам и функциям системы через текстовые команды.
Программирование на Shell включает написание скриптов — наборов команд, записанных в файле. Программа-оболочка считывает эти команды и выполняет их. Скрипты используются для автоматизации процессов, например, для быстрого переименования всех файлов в папке или генерации случайных паролей.
Некоторые особенности синтаксиса языка программирования Shell:
Командная строка — последовательность слов, разделённых пробелами. Первое слово определяет имя команды, которая будет выполняться, оставшиеся слова, как правило, передаются команде в качестве аргументов.
Переменные — текстовые, их имена должны начинаться с буквы и состоять из латинских букв, цифр и знака подчёркивания (_). Чтобы воспользоваться значением переменной, перед ней ставят символ $.
Комментарии — строки, начинающиеся с символа #, трактуются как комментарии.
Подстановка результатов выполнения команд — выражения можно заключать в обратные кавычки (`), которые вычисляются в месте использования.
Конвейеры — последовательность команд, разделённых знаком |. Стандартный вывод всех команд, кроме последней, направляется на стандартный ввод следующей команды конвейера
-
Программирование на Shell (Unix)
ОС Unix стоит на трех китах: язык Си, файловая система, командный язык. В дальнейшем к ним добавились система X Window и протоколы TCP/IP.
Язык Си, на котором написана сама операционная система, с одной стороны, сочетает в себе свойства языка высокого уровня: описание типов, программные структуры if, for, while и т.п., а с другой - содержит средства, присущие обычно языкам уровня ассемблера: регистровые переменные, адресную (ссылочную) арифметику, возможности работы с полями бит и отдельными битами и т.п.
Файловая система
Простейшие средства shell
Среда shell (переменные и параметры)
Программные структуры
Список литературы
-
Интерпретатор командного языка Shell
Команда ena позволяет получить части полного имени файла. Первый аргумент - флаг, второй - имя файла. Команда различает следующие флаги