Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPORY.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
277.05 Кб
Скачать

36 Bash. Сценарии. Маски

Bash: bash (от англ. Bourne again shell, каламбур «Born again» shell — «возрождённый» shell) — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.

Bash — это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий, подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Другие функции, например, история, были скопированы из csh и ksh. Bash в основном удовлетворяет стандарту POSIX, но с рядом расширений.

Сценарии: Сценарий (командный файл, скрипт) — это текстовый файл, содер-жащий команды оболочки и конструкций специального языка программирования. Сценарии являются расширением возможностей по набору команд Linux, позволяют гибко решать системные задачи. При исполнении сценария будет использован интерпретатор системы по умолчанию, но рекомендуется явно указывать оболочку в первой строке сценария командой вида #!абсолютный_путь_к_интерпретатору_сценария, например, #!/bin/bash. Команды в сценарии размещаются построчно, лидирующие разделители (пробелы и табуляции) игнорируются. Символ # указывает на начало строки комментария в сценарии, который длится до конца строки (это не относится к первой строке, если она начинается с #!). Для запуска сценария необходимо иметь права на выполнение файла, их можно установить командой chmod u+x имя_сценария. Если изменить права для сценария невозможно, то запустить его можно командой путь_к_интерпретатору -f сценарий. Сценарй может быть вызван с аргументами, модифицирующими его работу. Аргументами сценария являются строковые значения между разделителями (пробелами), указываемые после имени сценария. Вообще, если первая строка исполняемого файла начинается на #!, то оболочка выполняет следующие действия:

1. Из первой строки удаляются символы #!. Оставшаяся часть строки заменяет собой командную строку, с помощью которой был вызван сценарий.

2. Предыдущая командная строка передается текущей в качестве аргумента.

Маски: Bash поддерживает следующие файловые маски: • *.jpg — * заменяет любую последовательность символов. • lecture?.txt — ? заменяет один символ. • lecture{1,2,3}.txt — {} подставляют значения, заданные через запятую. • lecture[1235].txt — [] совпадают с любым из перечисленных символов. Поддерживаются промежутки: [a-с], [2-7].

37 Компилятор gcc.

GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.

GСС - это свободно доступный оптимизирующий компилятор для языков C, C++.

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

Файлы с расширением .cc или .C рассматриваются, как файлы на языке C++, файлы с расширением .c как программы на языке C, а файлы c расширением .o считаются объектными.

Чтобы откомпилировать исходный код C++, находящийся в файле F.cc, и создать объектный файл F.o, необходимо выполнить команду:

gcc -c F.cc

Опция –c означает «только компиляция».

Чтобы скомпоновать один или несколько объектных файлов, полученных из исходного кода - F1.o, F2.o, ... - в единый исполняемый файл F, необходимо ввести команду:

gcc -o F F1.o F2.o

Опция -o задает имя исполняемого файла.

Можно совместить два этапа обработки - компиляцию и компоновку - в один общий этап с помощью команды:

gcc -o F <compile-and-link-options> F1.cc ... -lg++ <other-libraries>

<compile-and-link –options> - возможные дополнительные опции компиляции и компоновки. Опция –lg++ указывает на необходимость подключить стандартную библиотеку языка С++, <other-libraries> - возможные дополнительные библиотеки.

После компоновки будет создан исполняемый файл F, который можно запустить с помощью команды ./F <arguments>. Строка <arguments> определяет аргументы командной строки Вашей программы.

В процессе компоновки очень часто приходится использовать библиотеки. Библиотекой называют набор объектных файлов, сгруппированных в единый файл и проиндексированных. Когда команда компоновки обнаруживает некоторую библиотеку в списке объектных файлов для компоновки, она проверяет, содержат ли уже скомпонованные объектные файлы вызовы для функций, определенных в одном из файлов библиотек. Если такие функции найдены, соответствующие вызовы связываются с кодом объектного файла из библиотеки. Библиотеки могут быть подключены с помощью опции вида -lname. В этом случае в стандартных каталогах, таких как /lib , /usr/lib, /usr/local/lib будет проведен поиск библиотеки в файле с именем libname.a. Библиотеки должны быть перечислены после исходных или объектных файлов, содержащих вызовы к соответствующим функциям.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]