🗊 Презентация Программирование на языке shell

Категория: Образование
Нажмите для полного просмотра!
Программирование на языке shell, слайд №1 Программирование на языке shell, слайд №2 Программирование на языке shell, слайд №3 Программирование на языке shell, слайд №4 Программирование на языке shell, слайд №5 Программирование на языке shell, слайд №6 Программирование на языке shell, слайд №7 Программирование на языке shell, слайд №8 Программирование на языке shell, слайд №9 Программирование на языке shell, слайд №10 Программирование на языке shell, слайд №11 Программирование на языке shell, слайд №12 Программирование на языке shell, слайд №13 Программирование на языке shell, слайд №14 Программирование на языке shell, слайд №15 Программирование на языке shell, слайд №16 Программирование на языке shell, слайд №17 Программирование на языке shell, слайд №18 Программирование на языке shell, слайд №19 Программирование на языке shell, слайд №20 Программирование на языке shell, слайд №21 Программирование на языке shell, слайд №22 Программирование на языке shell, слайд №23 Программирование на языке shell, слайд №24 Программирование на языке shell, слайд №25 Программирование на языке shell, слайд №26 Программирование на языке shell, слайд №27 Программирование на языке shell, слайд №28 Программирование на языке shell, слайд №29 Программирование на языке shell, слайд №30 Программирование на языке shell, слайд №31 Программирование на языке shell, слайд №32 Программирование на языке shell, слайд №33 Программирование на языке shell, слайд №34 Программирование на языке shell, слайд №35 Программирование на языке shell, слайд №36 Программирование на языке shell, слайд №37 Программирование на языке shell, слайд №38 Программирование на языке shell, слайд №39 Программирование на языке shell, слайд №40 Программирование на языке shell, слайд №41 Программирование на языке shell, слайд №42 Программирование на языке shell, слайд №43 Программирование на языке shell, слайд №44 Программирование на языке shell, слайд №45 Программирование на языке shell, слайд №46 Программирование на языке shell, слайд №47 Программирование на языке shell, слайд №48 Программирование на языке shell, слайд №49 Программирование на языке shell, слайд №50 Программирование на языке shell, слайд №51 Программирование на языке shell, слайд №52 Программирование на языке shell, слайд №53 Программирование на языке shell, слайд №54 Программирование на языке shell, слайд №55 Программирование на языке shell, слайд №56 Программирование на языке shell, слайд №57 Программирование на языке shell, слайд №58 Программирование на языке shell, слайд №59 Программирование на языке shell, слайд №60 Программирование на языке shell, слайд №61 Программирование на языке shell, слайд №62 Программирование на языке shell, слайд №63 Программирование на языке shell, слайд №64 Программирование на языке shell, слайд №65 Программирование на языке shell, слайд №66 Программирование на языке shell, слайд №67 Программирование на языке shell, слайд №68 Программирование на языке shell, слайд №69 Программирование на языке shell, слайд №70 Программирование на языке shell, слайд №71 Программирование на языке shell, слайд №72 Программирование на языке shell, слайд №73 Программирование на языке shell, слайд №74 Программирование на языке shell, слайд №75 Программирование на языке shell, слайд №76 Программирование на языке shell, слайд №77 Программирование на языке shell, слайд №78 Программирование на языке shell, слайд №79 Программирование на языке shell, слайд №80 Программирование на языке shell, слайд №81 Программирование на языке shell, слайд №82 Программирование на языке shell, слайд №83 Программирование на языке shell, слайд №84 Программирование на языке shell, слайд №85 Программирование на языке shell, слайд №86 Программирование на языке shell, слайд №87 Программирование на языке shell, слайд №88 Программирование на языке shell, слайд №89 Программирование на языке shell, слайд №90 Программирование на языке shell, слайд №91 Программирование на языке shell, слайд №92 Программирование на языке shell, слайд №93 Программирование на языке shell, слайд №94 Программирование на языке shell, слайд №95 Программирование на языке shell, слайд №96 Программирование на языке shell, слайд №97 Программирование на языке shell, слайд №98 Программирование на языке shell, слайд №99 Программирование на языке shell, слайд №100 Программирование на языке shell, слайд №101 Программирование на языке shell, слайд №102 Программирование на языке shell, слайд №103 Программирование на языке shell, слайд №104 Программирование на языке shell, слайд №105 Программирование на языке shell, слайд №106 Программирование на языке shell, слайд №107 Программирование на языке shell, слайд №108 Программирование на языке shell, слайд №109 Программирование на языке shell, слайд №110 Программирование на языке shell, слайд №111

Содержание

Вы можете ознакомиться и скачать презентацию на тему Программирование на языке shell. Доклад-сообщение содержит 111 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Программирование на языке shell Программа shell является одной из наиболее важных утилит OC UNIX. shell - это не только интерпретатор команд системы...
Описание слайда:
Программирование на языке shell Программа shell является одной из наиболее важных утилит OC UNIX. shell - это не только интерпретатор команд системы UNIX ( типа command.com в DOS), но еще и язык программирования на уровне таких команд (то есть можно создавать файлы типа '.bat' как в DOS).

Слайд 2


При рассмотрении команд в UNIX по сути использовался интерактивный режим взаимодействия с shell, в котором можно: - ввести команду; - сделать...
Описание слайда:
При рассмотрении команд в UNIX по сути использовался интерактивный режим взаимодействия с shell, в котором можно: - ввести команду; - сделать перадресацию (перенаправление); - создать конвейер. Но это только часть возможностей написания программ на языке shell, версий которых очень много:

Слайд 3


- командный процессор Борна – sh (более старый); - командный процессор С – csh (более новый, но много различий в этих двух языках); - командный...
Описание слайда:
- командный процессор Борна – sh (более старый); - командный процессор С – csh (более новый, но много различий в этих двух языках); - командный процессор Корна – ksh (полностью совместим С Борном и включает многие черты С).

Слайд 4


Любая хранимая в файле команда или последовательность команд системы UNIX называется shell-программой или командным файлом. Обычно командным файлом...
Описание слайда:
Любая хранимая в файле команда или последовательность команд системы UNIX называется shell-программой или командным файлом. Обычно командным файлом называют простую последовательность команд, а "shell-программой" - их более сложные структуры: с ветвлением, с циклом и др. Существуют три способа инициализации shell для выполнения командных файлов.

Слайд 5


Этот метод основан на переадресации ввода не с терминала, а с файла. Пусть файл lsdir содержит некоторые команды, тогда можно выполнить: sh < lsdir В...
Описание слайда:
Этот метод основан на переадресации ввода не с терминала, а с файла. Пусть файл lsdir содержит некоторые команды, тогда можно выполнить: sh < lsdir В первом случае есть недостаток - нельзя передавать аргументы. Поэтому существует возможность в shell читать команды с файла, хранимые на диске. Это можно сделать просто: sh lsdir

Слайд 6


Здесь уже можно передавать аргументы, если Вы их предусмотрели. Например, sh lsdir /bin/etc Если в файле право доступа на выполнение не подавлено (...
Описание слайда:
Здесь уже можно передавать аргументы, если Вы их предусмотрели. Например, sh lsdir /bin/etc Если в файле право доступа на выполнение не подавлено ( установить такой доступ можно командой chmod a+x lsdir ), то тогда выполнить действие по команде из файла lsdir можно просто, набрав lsdir Этот способ является наиболее предпочтительным и часто используется.

Слайд 7


shell переменные Переменные в системе shell должны начинаться с буквы, состоять из букв, цифр и знака подчеркивания. Имена переменных чувствительны к...
Описание слайда:
shell переменные Переменные в системе shell должны начинаться с буквы, состоять из букв, цифр и знака подчеркивания. Имена переменных чувствительны к регистру. Они могут быть любой длины из заглавных, строчных букв, также содержать цифры и специальные символы. Но они не должны начинаться с цифры и не могут содержать спец символы командного интерпретатора (*, $, ?, [, ], )

Слайд 8


Присваивание значений переменным Значение переменным можно присвоить по команде присваивания: ux=u.UNIX ux=INIX Здесь первым оператором значение...
Описание слайда:
Присваивание значений переменным Значение переменным можно присвоить по команде присваивания: ux=u.UNIX ux=INIX Здесь первым оператором значение u.UNIX присваивается shell-переменной "ux", а вторым - ее значение меняется на новое. Желательно команды писать строчными буквами, а переменные – всегда прописными. Примечание: Перед знаком = и после не должно быть пробелов.

Слайд 9


Если необходимо присвоить переменной значение, содержащее пробелы, знаки табуляции и символы новой строки, то оно должно быть заключено в кавычки:...
Описание слайда:
Если необходимо присвоить переменной значение, содержащее пробелы, знаки табуляции и символы новой строки, то оно должно быть заключено в кавычки: name="Titov Vladidmir Ivanovich" Команда readonly (только читать) помечает переменную таким образом, что ее значение не может быть изменено: readonly ux Теперь, если выполнить для переменной ux команду ux=uu.UNIX

Слайд 10


то будет выдано сообщение об ошибке "ux: is read only". Поэтому, если в shell-программе значение переменной не должно меняться, то имеет...
Описание слайда:
то будет выдано сообщение об ошибке "ux: is read only". Поэтому, если в shell-программе значение переменной не должно меняться, то имеет смысл применить команду readonly. Если требуется получить список переменных, которые нельзя изменить, то надо выполнить одну команду readonly без параметров.

Слайд 11


Вновь создаваемые переменные локальны, то есть, эффективны только в пределах текущего экземпляра shell. При необходимости использовать их в любых...
Описание слайда:
Вновь создаваемые переменные локальны, то есть, эффективны только в пределах текущего экземпляра shell. При необходимости использовать их в любых процессах, порождаемых интерпретатором, они должны быть отмечены как внешние с помощью оператора export. Например, export ux помечает переменную ux внешней. Отметка export существует вплоть до окончания работы shell. Список текущих внешних переменных можно получить командой export без параметров.

Слайд 12


Использование переменных При использовании значения переменной перед именем переменной должен находиться символ $. Этот символ информирует shell о...
Описание слайда:
Использование переменных При использовании значения переменной перед именем переменной должен находиться символ $. Этот символ информирует shell о том, что следующее за ним имя относится к переменной, а не к файлу или к литералу. Значения требуемых переменных можно вывести на экран по команде echo.

Слайд 13


Например, по команде echo $ux будет выведено INIX, так как именно это значение было последним. Переменная, которой не было явно присвоено значение,...
Описание слайда:
Например, по команде echo $ux будет выведено INIX, так как именно это значение было последним. Переменная, которой не было явно присвоено значение, содержит пустую строку. Поэтому при выполнении команды echo $abc на экран ничего не будет выводиться.

Слайд 14


Если имя переменной заключить в фигурные скобки, то её выведенное значение будет сопровождаться последовательностью символов, следующих за скобками....
Описание слайда:
Если имя переменной заключить в фигурные скобки, то её выведенное значение будет сопровождаться последовательностью символов, следующих за скобками. Например, по команде echo ${ux}tm будет напечатано UNIXtm. Конструкция ${} используется, чтобы уточнить ссылку на переменную. Эта конструкция показывает, где заканчивается имя переменной и начинается текст, который следует добавить.

Слайд 15


Интерпретатор shell автоматически присваивает значения следующим пяти встроенным переменным: $? - значение, возвращаемое последней выполненной...
Описание слайда:
Интерпретатор shell автоматически присваивает значения следующим пяти встроенным переменным: $? - значение, возвращаемое последней выполненной командой (код возврата: - равен 0 при успешном выполнении, - при других неравен 0); $$ - идентификационный номер процесса shell;

Слайд 16


#! - идентификационный номер фонового процесса, запускаемого интерпретатором shell; $# - число аргументов позиционных параметров, передаваемых в...
Описание слайда:
#! - идентификационный номер фонового процесса, запускаемого интерпретатором shell; $# - число аргументов позиционных параметров, передаваемых в shell; $* - список аргументов, переданных в shell. $- - флаги, передаваемые в shell при его запуске или установленной командой set.

Слайд 17


Эти переменные равнозначны переменным, создаваемым пользователем. Например, по команде echo $$ выведется идентификационный номер shell. Его можно...
Описание слайда:
Эти переменные равнозначны переменным, создаваемым пользователем. Например, по команде echo $$ выведется идентификационный номер shell. Его можно проверить с помощью команды ps.

Слайд 18


Использование shell-переменных в интерактивном режиме shell-переменные можно использовать в интерактивном режиме. Предположим, что мы работаем с...
Описание слайда:
Использование shell-переменных в интерактивном режиме shell-переменные можно использовать в интерактивном режиме. Предположим, что мы работаем с каталогом '/usr/src/my/doc/'. Чтобы его не писать во всех командах, это имя можно присвоить переменной mydir=/usr/src/my/doc/

Слайд 19


После этого мы можем: проверить корректность указанного имени по команде echo $mydir получить список файлов каталога по команде ls $mydir вывести на...
Описание слайда:
После этого мы можем: проверить корректность указанного имени по команде echo $mydir получить список файлов каталога по команде ls $mydir вывести на экран файл из этого каталога по команде cat $mydir/doc_unix.txt выполнить программу myprog, хранящуюся в этом каталоге. Для этого присвоим полное имя новой переменной. Это можно сделать двумя способами:

Слайд 20


my_prog = /usr/src/my/doc/myprog my_prog = $mydir/myprog тогда ввод строки my_prog $mydir/doc_unix.txt приведет к выполнению программы myprog с...
Описание слайда:
my_prog = /usr/src/my/doc/myprog my_prog = $mydir/myprog тогда ввод строки my_prog $mydir/doc_unix.txt приведет к выполнению программы myprog с параметром doc_unix.txt.

Слайд 21


Строки поиска пути Как и в Dos, в UNIX-shell есть shell-переменная PATH, по которой рассматриваются пути поиска файлов. Обычно в нем находятся: -...
Описание слайда:
Строки поиска пути Как и в Dos, в UNIX-shell есть shell-переменная PATH, по которой рассматриваются пути поиска файлов. Обычно в нем находятся: - каталог /bin - каталог /ust/bin - текущий каталог.

Слайд 22


В строке поиска пути каталоги разделены двоеточиями, а для указания текущего каталога служит пустое имя. Это пустое имя может быть задано или двумя...
Описание слайда:
В строке поиска пути каталоги разделены двоеточиями, а для указания текущего каталога служит пустое имя. Это пустое имя может быть задано или двумя следующими подряд двоеточиями или одним двоеточием в начале строки. Необходимо отметить, что порядок поиска зависит от того, как каталоги расположены в строке поиска пути. Так как строка поиска пути - это shell-переменная, то она может быть задана в интерактивном режиме.

Слайд 23


Например, PATH = :/usr/bin:/bin:usr/mi/bin Чтобы строки поиска пути инициализировались при запуске shell, необходимо чтобы в Вашем начальном каталоге...
Описание слайда:
Например, PATH = :/usr/bin:/bin:usr/mi/bin Чтобы строки поиска пути инициализировались при запуске shell, необходимо чтобы в Вашем начальном каталоге располагался файл по имени ".profile" с этими строками.

Слайд 24


Отмена специального смысла символа Существует три метода отмены специального смысла символа: Путем вставки обратной косой черты (\) перед символом;...
Описание слайда:
Отмена специального смысла символа Существует три метода отмены специального смысла символа: Путем вставки обратной косой черты (\) перед символом; Путем заключения всех символов последовательности в одинарные кавычки (‘). При этом теряют специальный смысл три знака: - знак $ (доллара); - знак ’ (кавычки); - знак ” (двойных кавычек).

Слайд 25


Путем заключения всех символов последовательности в двойные кавычки. При этом не теряют специальный смысл четыре знака: - знак \ (обратная косая...
Описание слайда:
Путем заключения всех символов последовательности в двойные кавычки. При этом не теряют специальный смысл четыре знака: - знак \ (обратная косая черта); - знак ` (знака ударения/апострофа); - знак ' (кавычки); - знак $ (доллара).

Слайд 26


Одинарные кавычки ‘’ указывают командному интерпретатору сохранить и не интерпретировать текст внутри них (то есть спрятать любые спец символы от...
Описание слайда:
Одинарные кавычки ‘’ указывают командному интерпретатору сохранить и не интерпретировать текст внутри них (то есть спрятать любые спец символы от командного процессора). Двойные кавычки “” используются, чтобы сгруппировать вместе слова для формирования параметра или предложения. Но в них возможна интерпретация переменных.

Слайд 27


Пример: Term=ansi a) echo ‘Output $Term’ b) echo “Output $Term” В первом случае будет выведено Output $Term а во втором Output ansi
Описание слайда:
Пример: Term=ansi a) echo ‘Output $Term’ b) echo “Output $Term” В первом случае будет выведено Output $Term а во втором Output ansi

Слайд 28


Апостроф ` наклонная одинарная кавычка (расположена на клавише, что и тильда ~) применяется для замещения команды: а) выполнить команду и сохранить...
Описание слайда:
Апостроф ` наклонная одинарная кавычка (расположена на клавише, что и тильда ~) применяется для замещения команды: а) выполнить команду и сохранить результаты в переменной; б) выполнить команду и передать ее выходные данные другой команде. Примеры: А) echo `ls /bin/c*` Командный процессор видит апострофы и выполняет команду ls, а затем помещает полученную информацию в команду echo.

Слайд 29


Результат может быть такой: /bin/cat /bin/cc /bin/chmod /bin/csh Б) PWD=`pwd` Сохранение имени текущего каталога в переменной PWD. Поэтому при...
Описание слайда:
Результат может быть такой: /bin/cat /bin/cc /bin/chmod /bin/csh Б) PWD=`pwd` Сохранение имени текущего каталога в переменной PWD. Поэтому при применении команды echo $PWD , будет выведено имя каталога, где вы сейчас находитесь. Часто применятся следующий прием:

Слайд 30


pwd PWD=`pwd` echo $PWD cd /tmp pwd ……… sd $PWD pwd
Описание слайда:
pwd PWD=`pwd` echo $PWD cd /tmp pwd ……… sd $PWD pwd

Слайд 31


Для отмены специального смысла одного символа - надо применить обратную косую черту (\). Для группы символов это рекомендуется применять в случаях,...
Описание слайда:
Для отмены специального смысла одного символа - надо применить обратную косую черту (\). Для группы символов это рекомендуется применять в случаях, когда Вы хотите shell-переменной присвоить последовательность слов, разделенных пробелами. Например, в случае ps_10 = Student Titov Vladimir переменной будет присвоено только слово Student и выдано аварийное сообщение, что команд и программ с именами Titov и Vladimir не найдены.

Слайд 32


Поэтому надо сделать: ps_10='Student Titov Vladimir' или ="Student Titov Vladimir" или =Student\ Titov\ Vladimir Эти все три способа...
Описание слайда:
Поэтому надо сделать: ps_10='Student Titov Vladimir' или ="Student Titov Vladimir" или =Student\ Titov\ Vladimir Эти все три способа равноценны.

Слайд 33


Команда set Команда set (установить) предназначена для вывода списка созданных переменных. Чаще всего в нем выводится, кроме Вами созданных...
Описание слайда:
Команда set Команда set (установить) предназначена для вывода списка созданных переменных. Чаще всего в нем выводится, кроме Вами созданных переменных, еще и следующие: - TERM = vt100- тип терминала; - PS1 = '$'- первичная подсказка, которую выводит интерпретатор shell, когда он готов принимать команду; - PS2 = '>'- вторичная подсказка, которую выводит копия shell (то есть, вторично запущенный интерпретатор shell);

Слайд 34


- PATH = /bin::/usr/bin - HOME = - имя Вашего начального каталога; - IFS = - внутренние разделители полей, которыми обычно служат: - пробел; -...
Описание слайда:
- PATH = /bin::/usr/bin - HOME = - имя Вашего начального каталога; - IFS = - внутренние разделители полей, которыми обычно служат: - пробел; - табуляция; - символы новой строки.

Слайд 35


Команда set имеет несколько опций, но Мы рассмотрим только одну: -v - все входные строки, читаемые shell, выводятся на экран. +v - подавление вывода...
Описание слайда:
Команда set имеет несколько опций, но Мы рассмотрим только одну: -v - все входные строки, читаемые shell, выводятся на экран. +v - подавление вывода на экран входных строк.

Слайд 36


Доступ к отдельным аргументам Когда команда set применяется одновременно с подстановкой результата выполнения команды, каждый из элементов вывода при...
Описание слайда:
Доступ к отдельным аргументам Когда команда set применяется одновременно с подстановкой результата выполнения команды, каждый из элементов вывода при подстановке команды присваивается отдельному позиционному параметру. Для задания подстановки результата выполнения команды в следующем примере команда date заключена в знаки апострофа ` (самая левая клавиша в цифровом ряде): set `date`

Слайд 37


Выход команды date становится последовательностью аргументов для команды set и поэтому на экране ничего не появится. Если вызвать саму команду date,...
Описание слайда:
Выход команды date становится последовательностью аргументов для команды set и поэтому на экране ничего не появится. Если вызвать саму команду date, то на экране можно будет увидеть: date Sun May 28 13:49:53 2011

Слайд 38


После выполнения команды set `date` её результат будет присвоен последовательности параметров $1, $2, $3, $4, $5 Теперь можно выводить на экран в...
Описание слайда:
После выполнения команды set `date` её результат будет присвоен последовательности параметров $1, $2, $3, $4, $5 Теперь можно выводить на экран в любом удобном виде. Например: echo 'DATE: $3 $2 $1 $5 TIME: $4' На экран будет выведено: DATE: 29 May Sun 2011 TIME: 13:49:53

Слайд 39


Доступ к другим позиционным параметрам с номерами, больше девяти, происходит по команде shift (сдвиг), которая сдвигает аргументы на одну позицию...
Описание слайда:
Доступ к другим позиционным параметрам с номерами, больше девяти, происходит по команде shift (сдвиг), которая сдвигает аргументы на одну позицию влево: ($1

Слайд 40


Путем ввода следующей команды можно получить доступ ко всем позиционным параметрам вызова: shift echo $* arg2, arg3, ....., arg11, arg12 то есть,...
Описание слайда:
Путем ввода следующей команды можно получить доступ ко всем позиционным параметрам вызова: shift echo $* arg2, arg3, ....., arg11, arg12 то есть, здесь выводятся все - вплоть до последнего имеющегося параметра, тогда как команда: echo $1 $2 $3 $4 $5 $6 $7 $8 $9 выведет только $2 $3 $4 $5 $6 $7 $8 $9 $10

Слайд 41


Простые условные операторы Команда test | [ ] Эта команда используется совместно с командами while, until и if. Они запускают команду test и...
Описание слайда:
Простые условные операторы Команда test | [ ] Эта команда используется совместно с командами while, until и if. Они запускают команду test и проверяют код возврата команды test. Аргументы команды test образуют выражение, которое вычисляется при ее выполнении. Если результат является true, то код возврата равен нулю, если false, то код возврата не равен нулю.

Слайд 42


Команда [ ] является другим именем команды test. Её синтаксис [выражение] Эти две команды используют выражение, которое применяется для сравнения...
Описание слайда:
Команда [ ] является другим именем команды test. Её синтаксис [выражение] Эти две команды используют выражение, которое применяется для сравнения либо текста, либо числа , либо атрибутов файлов или каталогов. Это выражение может браться из переменных, констант и операторов. Операторы могут быть строковыми, булевыми или файлами.

Слайд 43


Команда test может использоваться для трех объектов: - файлов, - числовых выражений, - цепочек символов. Проверка файлов В этом случае общий вид...
Описание слайда:
Команда test может использоваться для трех объектов: - файлов, - числовых выражений, - цепочек символов. Проверка файлов В этом случае общий вид команды имеет вид: test опция имя_файла

Слайд 44


Опции имеют вид: -r - файл существует и его можно прочитать; -w - файл существует и в него можно записывать; -x - файл существует и может...
Описание слайда:
Опции имеют вид: -r - файл существует и его можно прочитать; -w - файл существует и в него можно записывать; -x - файл существует и может выполняться; -f - файл существует и не является каталогом; -d - файл существует и является каталогом; -s - размер файла отличен от нуля.

Слайд 45


Сравнение числовых величин В этом случае общий вид команды имеет вид: test А операция В Операции имеют вид: -eq - A = B -ne - A ≠ B -ge - A ≥ B -gt -...
Описание слайда:
Сравнение числовых величин В этом случае общий вид команды имеет вид: test А операция В Операции имеют вид: -eq - A = B -ne - A ≠ B -ge - A ≥ B -gt - A > B -le - A ≤ B -lt - A < B

Слайд 46


Пример проверки целых чисел test $int1 -eq $int2 или [$int1 -eq $int2]
Описание слайда:
Пример проверки целых чисел test $int1 -eq $int2 или [$int1 -eq $int2]

Слайд 47


Сравнение цепочек символов test -n существование цепочки символов test -z отсутствие цепочки символов test = равенство двух цепочек символов test !=...
Описание слайда:
Сравнение цепочек символов test -n существование цепочки символов test -z отсутствие цепочки символов test = равенство двух цепочек символов test != неравенство двух цепочек символов

Слайд 48


Если цепочка символов заключена в двойные кавычки, то специальные символы сохраняют свой смысл, и пробелы трактуются как символы. Если Вы ставите...
Описание слайда:
Если цепочка символов заключена в двойные кавычки, то специальные символы сохраняют свой смысл, и пробелы трактуются как символы. Если Вы ставите цепочку символов без кавычек, то пробелы в цепочку не включаются. Если цепочка символов заключена в одинарные кавычки, то три специальных символа - знак доллара ($), знак одинарной кавычки (') и знак двойных кавычек (") теряют свой смысл специальных символов.

Слайд 49


Пример: Пусть Y = ' abcd', X = abcd а) test $Y = $X проверяет цепочки и не учитывает пробелы, поэтому результатом будет true, то есть Y=X; б) test...
Описание слайда:
Пример: Пусть Y = ' abcd', X = abcd а) test $Y = $X проверяет цепочки и не учитывает пробелы, поэтому результатом будет true, то есть Y=X; б) test “$Y” = “$X“ проверяет цепочки с учетом пробелов, поэтому результатом будет false, то есть Y ≠ X; в) test '$Y' = '$X' проверяет цепочки, состоящие из двух символов. Первая $Y, а вторая - $X. Поэтому результатом будет false, так как $Y ≠ $X.

Слайд 50


Команды true и false Команда true формирует код возврата 0, а команда false - не ноль (чаще всего это 1). Команды !, -o, -a, &&, II ! - инвертирует...
Описание слайда:
Команды true и false Команда true формирует код возврата 0, а команда false - не ноль (чаще всего это 1). Команды !, -o, -a, &&, II ! - инвертирует значение выражения; -o - логическое "или"; -a - логическое "и"; Пример: if [$# -lt 2 –a $1 –ne 1] здесь два выражения ($# -lt 2) и ($1 –ne 1) должны быть равными true.

Слайд 51


Команды && и II позволяют контролировать выполнение. && означает, что следующая за ней команда будет выполнена в том случае, если предшествующая дала...
Описание слайда:
Команды && и II позволяют контролировать выполнение. && означает, что следующая за ней команда будет выполнена в том случае, если предшествующая дала true, то есть код возврата, равным 0; II означает, что команда, стоявшая после II, выполняется, если первая даст код возврата не 0 (false). Условный оператор Операторы && и II могут дать только простые условные структуры. К более сложным операторам относится оператор if. Оператор if в простом виде имеет следующий формат:

Слайд 52


if if_list then then_list fi Альтернативная ветвь else В этом случае условный оператор имеет вид: if if_list then then_list else else_list fi...
Описание слайда:
if if_list then then_list fi Альтернативная ветвь else В этом случае условный оператор имеет вид: if if_list then then_list else else_list fi Объединение операторов else и if - elif if if_list then then_list_1 elif elif_list then then_list_2 else else_list fi

Слайд 53


Здесь elif выполняется, если if_list не равен нулю, и состоит в следующем: if elif_list then then_list_2 else else_list fi В группе может находиться...
Описание слайда:
Здесь elif выполняется, если if_list не равен нулю, и состоит в следующем: if elif_list then then_list_2 else else_list fi В группе может находиться только один блок if и один блок else, а количество elif может быть различным.

Слайд 54


Ветвление по нескольким направлениям case Её лучше применять в случае большого числа if и else. Данная структура предназначена для выполнения...
Описание слайда:
Ветвление по нескольким направлениям case Её лучше применять в случае большого числа if и else. Данная структура предназначена для выполнения ветвления по нескольким направлениям на основе совпадения образов.

Слайд 55


Ее общая форма такова: case in s1) ;; s2) ;; …………………………. sn) ;; esac
Описание слайда:
Ее общая форма такова: case in s1) ;; s2) ;; …………………………. sn) ;; esac

Слайд 56


Команда case сравнивает шаблон string с каждым шаблоном s1,s2... sn. Если фиксируется совпадение, то будет выполняться список команд, который следует...
Описание слайда:
Команда case сравнивает шаблон string с каждым шаблоном s1,s2... sn. Если фиксируется совпадение, то будет выполняться список команд, который следует за совпавшим со string шаблоном. Синтаксис команды требует двойных точек с запятой (;;) в конце каждого списка и оператора esac в конце всей команды case.

Слайд 57


Одному списку команд может соответствовать несколько текстовых образцов, разделенных вертикальной чертой, указывающий на дизъюнкцию. s1|s2|s3)...
Описание слайда:
Одному списку команд может соответствовать несколько текстовых образцов, разделенных вертикальной чертой, указывающий на дизъюнкцию. s1|s2|s3) Обычный смысл вертикальной черты как конвейера в операторе case подавляется. Последний шаблон желательно *), так как * соответствует любой последовательности. Шаблон может содержать метасимволы shell (* ? {…} […])

Слайд 58


Пример: case “$1” in [1-9]) Number=True;; A|a) dev=A;; B|b dev=B;; /dev/* dev=$1;; esac Здесь, если $1 отличное от нуля число, то выполняется первый...
Описание слайда:
Пример: case “$1” in [1-9]) Number=True;; A|a) dev=A;; B|b dev=B;; /dev/* dev=$1;; esac Здесь, если $1 отличное от нуля число, то выполняется первый пункт. Если это буква a и A, то выполняется второй пункт.

Слайд 59


Построение циклов Цикл тип while Синтаксис такого оператора следуюший: while while_list do do_list done Вначале проверяется условие, а потом...
Описание слайда:
Построение циклов Цикл тип while Синтаксис такого оператора следуюший: while while_list do do_list done Вначале проверяется условие, а потом выполняется тело цикла. Цикл типа until Синтаксис такого оператора следуюший: until until_list do do_list done Здесь цикл выполняется, пока until_list не равно 0 (то есть, пока until_list имеет значение false).

Слайд 60


Цикл типа for А) for с in for name in for_list do do_list done Переменной name присваивается в качестве значения текущее слово списка. Список...
Описание слайда:
Цикл типа for А) for с in for name in for_list do do_list done Переменной name присваивается в качестве значения текущее слово списка. Список операторов do_list выполняется один раз для каждого слова из списка for_list.

Слайд 61


Пример. list = 'world_1 world_2 world_3 world_4' for VAL in $list do echo $VAL done echo 'End of list' На экран будет выведено: world_1 world_2...
Описание слайда:
Пример. list = 'world_1 world_2 world_3 world_4' for VAL in $list do echo $VAL done echo 'End of list' На экран будет выведено: world_1 world_2 world_3 world_4 End of list

Слайд 62


Б) for без in Структура for может применяться и без ключевого слова in. for name do do_list done В этом случае do_list выполняется один раз для...
Описание слайда:
Б) for без in Структура for может применяться и без ключевого слова in. for name do do_list done В этом случае do_list выполняется один раз для каждого позиционного параметра (аргумента) интерпретатора shell. Команда for name эквивалентна команде for name in $*.

Слайд 63


Например, необходимо инвертировать порядок списка аргументов. Для этого необходимо выполнить: list = '' for arg do list = "$arg $list" done...
Описание слайда:
Например, необходимо инвертировать порядок списка аргументов. Для этого необходимо выполнить: list = '' for arg do list = "$arg $list" done echo $list Если интерпретатор shell запускался с параметрами 1 2 3 4 5, то будет выдано 5 4 3 2 1.

Слайд 64


Кроме аргументов командной строки и позиционных параметров, могут обрабатываться файлы, используя знаки подстановки: for file in * do echo “found...
Описание слайда:
Кроме аргументов командной строки и позиционных параметров, могут обрабатываться файлы, используя знаки подстановки: for file in * do echo “found $file” done В этом примере выводится список файлов, находящихся в данном каталоге, по одному названию файла в строке. for file in [ab]* …. for file in a?? ….

Слайд 65


Пустая строка : - это команда обозначает отсутствие операции. Её нельзя использовать в качестве комментария. # - оператор комментария (игнорирует...
Описание слайда:
Пустая строка : - это команда обозначает отсутствие операции. Её нельзя использовать в качестве комментария. # - оператор комментария (игнорирует выполнение); : - ничего не делает. if [ ! $1] then : # Нет ничего fi

Слайд 66


Данный пример показывает, что shell будет обрабатывать это, так как двоеточие – это команда. Если просто подставить #, то процессор сообщит, что нет...
Описание слайда:
Данный пример показывает, что shell будет обрабатывать это, так как двоеточие – это команда. Если просто подставить #, то процессор сообщит, что нет выполняемой команды.

Слайд 67


Прерывание цикла break Оператор break прерывает очередное выполнение включающего самого внутреннего его цикла. Например, while true do echo $Loop3...
Описание слайда:
Прерывание цикла break Оператор break прерывает очередное выполнение включающего самого внутреннего его цикла. Например, while true do echo $Loop3 until false do echo $Loop2 while true 3 2 1 do echo $Loop1 break $level done done done

Слайд 68


Если переменная level отсутствует или равна 1, то прерывается цикл 1. Если level=2, то прерывается цикл 2, и если level=3, то прерывается цикл 3....
Описание слайда:
Если переменная level отсутствует или равна 1, то прерывается цикл 1. Если level=2, то прерывается цикл 2, и если level=3, то прерывается цикл 3. Прерывание итерации цикла continue Эта команда приводит к прерыванию выполнения итерации ближайшего цикла, в котором находится сама команда continue.

Слайд 69


while true do echo $Loop3 until false do echo $Loop2 while true do echo $Loop1 continue $level done done done
Описание слайда:
while true do echo $Loop3 until false do echo $Loop2 while true do echo $Loop1 continue $level done done done

Слайд 70


Если переменная level имеет значение 2, то выполнение будет продолжено с оператора цикла until. Если же значение будет равно 3, то будет возобновлен...
Описание слайда:
Если переменная level имеет значение 2, то выполнение будет продолжено с оператора цикла until. Если же значение будет равно 3, то будет возобновлен внешний цикл while. Если же переменная level не установлена или равна 1, то будет продолжаться выполнение самого внутреннего цикла.

Слайд 71


Фоновое выполнение цикла Если после done подставить &, то цикл будет выполняться в фоновом режиме. for var in 1 2 3 4 5 do echo “$var” done & это...
Описание слайда:
Фоновое выполнение цикла Если после done подставить &, то цикл будет выполняться в фоновом режиме. for var in 1 2 3 4 5 do echo “$var” done & это может быть применено и для циклов while и until.

Слайд 72


Выход из программы exit Эта команда прекращает не просто текущий цикл, а всей процедуры. После выполнения команды exit в вызывающую программу...
Описание слайда:
Выход из программы exit Эта команда прекращает не просто текущий цикл, а всей процедуры. После выполнения команды exit в вызывающую программу передается код возврата, равный нулю (true). Если команда имеет аргумент, например, exit $status, то возвращается код возврата, равный значению переменной status.

Слайд 73


Переназначение ввода/вывода и циклы Переназначение ввода for var in * do команды done < источник Все команды в цикле получают данные через...
Описание слайда:
Переназначение ввода/вывода и циклы Переназначение ввода for var in * do команды done < источник Все команды в цикле получают данные через стандартный ввод. Можно получить из перенаправленного источника (любая команда считывает данные из указанного источника).

Слайд 74


for var in * do команды < источники done Здесь каждая команда может брать входные данные с разных мест. Переназначение вывода Аналогично можно...
Описание слайда:
for var in * do команды < источники done Здесь каждая команда может брать входные данные с разных мест. Переназначение вывода Аналогично можно переназначить вывод: for var in 1 2 3 4 5 do echo “$var” done

Слайд 75


Здесь все выходные данные всех команд в цикле направляются в единый файл (стандартный вывод). for var in 1 2 3 4 5 do echo “Processing $var” >...
Описание слайда:
Здесь все выходные данные всех команд в цикле направляются в единый файл (стандартный вывод). for var in 1 2 3 4 5 do echo “Processing $var” > /dev/tty команды done > output Здесь по команде echo данные направлены на tty, а по всем другим командам - в единый файл (стандартный вывод).

Слайд 76


Можно связать циклы и конвейеры: ls | for file in * do echo $file file $file done Это пример перекачки данных в цикл из конвейера. Команда file...
Описание слайда:
Можно связать циклы и конвейеры: ls | for file in * do echo $file file $file done Это пример перекачки данных в цикл из конвейера. Команда file определяет тип файла.

Слайд 77


for file in * do echo $file done | wc –l Здесь передача информации в конвейер в конце цикла. Происходит печать имен файлов и посылка по конвейеру...
Описание слайда:
for file in * do echo $file done | wc –l Здесь передача информации в конвейер в конце цикла. Происходит печать имен файлов и посылка по конвейеру команде wc –l для подсчета количества файлов.

Слайд 78


Подстановка результатов выполнения команд shell дает возможность использования стандартного вывода любой команды в shell-программе. Если команда...
Описание слайда:
Подстановка результатов выполнения команд shell дает возможность использования стандартного вывода любой команды в shell-программе. Если команда заключена в знаки ударения (апострофы), то shell выполняет эту команду и подставляет вместо нее полученный результат.

Слайд 79


Пример 1. now = 'date' В результате действия переменной now будет присвоена текущая дата: now = Wed Feb 12 11:49:23 1997 Теперь по команде echo $now...
Описание слайда:
Пример 1. now = 'date' В результате действия переменной now будет присвоена текущая дата: now = Wed Feb 12 11:49:23 1997 Теперь по команде echo $now на экран будет выведена дата, хранящаяся в now.

Слайд 80


Пример 2. f_names = 'ls' В этом случае переменной f_names будут присвоены результаты выполнения команды ls. Если в текущем каталоге было 4 файла с...
Описание слайда:
Пример 2. f_names = 'ls' В этом случае переменной f_names будут присвоены результаты выполнения команды ls. Если в текущем каталоге было 4 файла с именами file_1, file_2, file_3, file_4, то при использовании команды для вывода echo $f_names на экране появится: file_1 file_2 file_3 file_4

Слайд 81


Пример 3. curr = 'pwd' Получение текущего каталога cd /usr/bin/Mi/doc Переход в другой каталог ................. Действия в этом каталоге cd $curr...
Описание слайда:
Пример 3. curr = 'pwd' Получение текущего каталога cd /usr/bin/Mi/doc Переход в другой каталог ................. Действия в этом каталоге cd $curr Возврат в текущий каталог, то есть не надо было его помнить!

Слайд 82


Вычисление выражений expr Для выполнения арифметических операций в командном процессоре Борна (в Корне и С – это встроено). Результат передается на...
Описание слайда:
Вычисление выражений expr Для выполнения арифметических операций в командном процессоре Борна (в Корне и С – это встроено). Результат передается на стандартный ввод. Рассмотрим пример работы Борна: a=1 b=$a + 1 (все аргументы отделяются пробелами) echo $b Будет выдано: $a + 1

Слайд 83


То есть он текст “+1” конкатенирует с переменной a, так как все цифры в Борне – это символы. Вычисление арифметических выражений Команда expr...
Описание слайда:
То есть он текст “+1” конкатенирует с переменной a, так как все цифры в Борне – это символы. Вычисление арифметических выражений Команда expr рассматривает свои аргументы как выражения (арифметические или логические). Результат вычисления передается на стандартный вывод.

Слайд 84


При этом могут быть использованы следующие операции: + - сложение - - вычитание * - умножение / - деление на цело % - деление по модулю ( взятие...
Описание слайда:
При этом могут быть использованы следующие операции: + - сложение - - вычитание * - умножение / - деление на цело % - деление по модулю ( взятие остатка) В команде все аргументы необходимо отделять пробелами. Для предотвращения интерпретации специальных символов их надо отменять.

Слайд 85


Примеры: a = 2 a = 2 a = `expr $a + 7` a = 9 b = `expr $a / 3` b = 3 c = `expr $a - 1 ‘*’ $b` c = 24 d = `expr $c % 5` d = 4 e = `expr $d - $b` e = 1...
Описание слайда:
Примеры: a = 2 a = 2 a = `expr $a + 7` a = 9 b = `expr $a / 3` b = 3 c = `expr $a - 1 ‘*’ $b` c = 24 d = `expr $c % 5` d = 4 e = `expr $d - $b` e = 1 Если применить expr 10 + 2, то будет выдано 10+2. При 10 - 2 и 10 * 2 будет выданы ошибки.

Слайд 86


Сравнение цепочки символов Эта команда может использоваться для сравнения цепочек. Команда expr с помощью операции двоеточия (:) позволяет сравнивать...
Описание слайда:
Сравнение цепочки символов Эта команда может использоваться для сравнения цепочек. Команда expr с помощью операции двоеточия (:) позволяет сравнивать цепочки символов. Результатом выполнения такой команды является число совпадающих символов в обеих цепочках. Если результат равен нулю, то совпадение отсутствует.

Слайд 87


R = `expr ‘abcdef’ : ‘abcd’` echo $R 4 ВНИМАНИЕ! Вторая цепочка символов сопоставляется с первой цепочкой, начиная с первого символа. Поэтому даже...
Описание слайда:
R = `expr ‘abcdef’ : ‘abcd’` echo $R 4 ВНИМАНИЕ! Вторая цепочка символов сопоставляется с первой цепочкой, начиная с первого символа. Поэтому даже один несовпадающий символ во второй цепочке приведет к неудачному сопоставлению, в следствии чего результатом будет ноль.

Слайд 88


Примеры несовпадения цепочек: R = `expr ‘abcdef’ : ‘abce’` нет символа d T = `expr ‘abcdef’ : ‘bcd’` нет символа a V = `expr ‘abcd’ : ‘abcdef’`...
Описание слайда:
Примеры несовпадения цепочек: R = `expr ‘abcdef’ : ‘abce’` нет символа d T = `expr ‘abcdef’ : ‘bcd’` нет символа a V = `expr ‘abcd’ : ‘abcdef’` вторая цепочка длиннее первой echo $R $T $V будет выдано: 0 0 0

Слайд 89


Такое сопоставление можно выполнить и с использованием переменных M = ‘abcdef’ N = ‘abcd’ C = `expr $M : $N` Применяя эту команду, можно определить...
Описание слайда:
Такое сопоставление можно выполнить и с использованием переменных M = ‘abcdef’ N = ‘abcd’ C = `expr $M : $N` Применяя эту команду, можно определить длину цепочки: A = "This is an experement" Присваивание цепочки символов переменной A. Так как в ней есть пробелы, то ее заключаем в двойные кавычки.

Слайд 90


count = `expr $A : ‘.*’` Второй операнд .* говорит о том, что символ (.) может повторяться сколько угодно раз, а сам символ (.) означает любой...
Описание слайда:
count = `expr $A : ‘.*’` Второй операнд .* говорит о том, что символ (.) может повторяться сколько угодно раз, а сам символ (.) означает любой символ. Чтобы указать интерпретатору shell на специальный смысл символов (.) и (*), второй аргумент заключен в апострофы echo $count 21

Слайд 91


Другой возможностью команды expr является ее способность выделить только часть цепочки символов с помощью конструкции \(...\). Эти круглые скобки –...
Описание слайда:
Другой возможностью команды expr является ее способность выделить только часть цепочки символов с помощью конструкции \(...\). Эти круглые скобки – скобки регулярного выражения, которые используются для запоминания результата. B = `expr $A : ‘….. \(.*\)’` Здесь пять точек перед знаком \ соответствует пяти символам, которые следует пропустить ( включая пробел ) с начала цепочки символов. echo $B Результат операции: is an experement

Слайд 92


Условная замена переменных При условной замене значение одной переменной подставляется вместо значения другой. Интерпретатор shell реализует четыре...
Описание слайда:
Условная замена переменных При условной замене значение одной переменной подставляется вместо значения другой. Интерпретатор shell реализует четыре варианта условно замены с помощью 4-х символов: -, =, ?, +: A. {VARIABLE - OTHER} Если переменной VARIABLE было присвоено значение, то используется оно. В противном случае используется цепочка символов OTHER, а переменная VARIABLE не меняется.

Слайд 93


B. {VARIABLE = OTHER} Если переменной VARIABLE было присвоено значение, то используется оно. В противном случае перед использованием переменной...
Описание слайда:
B. {VARIABLE = OTHER} Если переменной VARIABLE было присвоено значение, то используется оно. В противном случае перед использованием переменной VARIABLE ей присваивается значение переменной OTHER. C. {VARIABLE ? EMPTY} Если переменной VARIABLE было присвоено значение, то используется оно. В противном случае на экран выводится сообщение VARIABLE : EMPTY, а процедура прекращается.

Слайд 94


При отсутствии аргумента справа от знака ? выдается стандартное сообщение системы: VARIABLE : parametr not set D. {VARIABLE + OTHER} Если переменной...
Описание слайда:
При отсутствии аргумента справа от знака ? выдается стандартное сообщение системы: VARIABLE : parametr not set D. {VARIABLE + OTHER} Если переменной VARIABLE было присвоено значение, то используется значение переменной OTHER. Если же значение переменной VARIABLE не присвоено, то в качестве ее значение используется пустая цепочка символов и при этом переменной VARIABLE значение не присваивается.

Слайд 95


Примеры. Пусть во всех примерах переменные VAL и VAR не определены. A1. echo ${VAL - 123} 123 A2. SUB = 456 echo ${VAL - $SUB} 456 B. echo ${VAL =...
Описание слайда:
Примеры. Пусть во всех примерах переменные VAL и VAR не определены. A1. echo ${VAL - 123} 123 A2. SUB = 456 echo ${VAL - $SUB} 456 B. echo ${VAL = xyz} xyz echo $VAL xyz

Слайд 96


C1. Err = 'Переменная отсутствует. Процедура прервана' echo ${VAR ? Err} VAR : Переменная отсутствует. Процедура прервана C2. echo ${VAR ?} VAR :...
Описание слайда:
C1. Err = 'Переменная отсутствует. Процедура прервана' echo ${VAR ? Err} VAR : Переменная отсутствует. Процедура прервана C2. echo ${VAR ?} VAR : parametr not set D. THIS = 145 THAT = abc echo ${THIS + $THAT} abc echo $THIS 145

Слайд 97


Усложненное присваивание переменным В операторах присваивания можно присваивать значения нескольким переменным. Пример 1. a = T b = H c = I d = S...
Описание слайда:
Усложненное присваивание переменным В операторах присваивания можно присваивать значения нескольким переменным. Пример 1. a = T b = H c = I d = S echo $a$b$c$d THIS

Слайд 98


Пример 2. А) a = 123 b = $a echo $a $b 123 123 Б) z = $y y = 123 echo $z $y 123 123 ВНИМАНИЕ! В интерпретаторе shell присваивание переменным...
Описание слайда:
Пример 2. А) a = 123 b = $a echo $a $b 123 123 Б) z = $y y = 123 echo $z $y 123 123 ВНИМАНИЕ! В интерпретаторе shell присваивание переменным происходит справа налево, а не наоборот.

Слайд 99


Пример 3. x = 123 y = 456 string1 = `Величина $x и $y` string2 = "Величина $x и $y" echo $string1 echo $string2 Величина $x и $y (Выводятся...
Описание слайда:
Пример 3. x = 123 y = 456 string1 = `Величина $x и $y` string2 = "Величина $x и $y" echo $string1 echo $string2 Величина $x и $y (Выводятся имена переменных, так как при апострофах специальный смысл знака $ теряется) Величина 123 и 456 (В строках с двойными кавычками происходит интерполяция переменных)

Слайд 100


Пример 4. Значение, присваемое переменной, может быть значением другой переменной. A = символ1 В этом примере дополнительные символы приписываются...
Описание слайда:
Пример 4. Значение, присваемое переменной, может быть значением другой переменной. A = символ1 В этом примере дополнительные символы приписываются слева B = мета$A (то есть, с начала) echo $B На экран будет выведено: метасимвол1

Слайд 101


Для приписывания дополнительных символов к концу имени необходимо ставить фигурные скобки. B = мета echo ${B}символ2 На экран будет выведено:...
Описание слайда:
Для приписывания дополнительных символов к концу имени необходимо ставить фигурные скобки. B = мета echo ${B}символ2 На экран будет выведено: метасимвол2 иначе будет выведено сообщение, что переменная $Bсимвол2 отсутствует.

Слайд 102


Позиционные параметры Для идентификации позиций элементов в командной строке shell устанавливает позиционные параметры. Чтобы интерпретатор мог их...
Описание слайда:
Позиционные параметры Для идентификации позиций элементов в командной строке shell устанавливает позиционные параметры. Чтобы интерпретатор мог их различать друг от друга, они должны разделяться пробелами. При этом интерпретатор нумерует их, начиная с нуля. Первый элемент (имя команды) всегда обозначается $0, первый аргумент - $1, второй - $2 и так далее до $9.

Слайд 103


shell использует 10 позиционных параметров и несколько специальных переменных для работы с аргументами, которые вводятся либо через командную строку...
Описание слайда:
shell использует 10 позиционных параметров и несколько специальных переменных для работы с аргументами, которые вводятся либо через командную строку либо устанавливаются пользователем. Пример. grep cat enter $0 $1 $2 shell не может одновременно обрабатывать более 10 параметров (то есть за один раз).

Слайд 104


Для этой цели применяется цикл и команда shift, чтобы перенести позиционные параметры влево, но имя команды остается без изменения в позиции $0....
Описание слайда:
Для этой цели применяется цикл и команда shift, чтобы перенести позиционные параметры влево, но имя команды остается без изменения в позиции $0. shift После этого: $2 => $1 $3 => $2 $4 => $3 и так далее.

Слайд 105


Присваивание значений позиционным параметрам Для этого применяется команда set. Она присваивает позиционному параметру значения цепочки символов...
Описание слайда:
Присваивание значений позиционным параметрам Для этого применяется команда set. Она присваивает позиционному параметру значения цепочки символов аргументов. set arg1 arg2 arg3

Слайд 106


По этой команде интерпретатор shell присваивает первому позиционному параметру $1 значение arg1, второму - arg2 и т.д. Значения этих аргументов можно...
Описание слайда:
По этой команде интерпретатор shell присваивает первому позиционному параметру $1 значение arg1, второму - arg2 и т.д. Значения этих аргументов можно проверить, выведя их значения на экран: echo $1 $2 $3 Будет выведено arg1 arg2 arg3

Слайд 107


Пример: set `date` Выход команды date становится последовательностью аргументов для команды set и на экране ничего не отобразится. Будет...
Описание слайда:
Пример: set `date` Выход команды date становится последовательностью аргументов для команды set и на экране ничего не отобразится. Будет сформировано: $1 - день недели; $2 - название месяца; $3 - день месяца; $4 - дата; $5 - год.

Слайд 108


Дополнительные переменные командной строки. $# - число аргументов в командной строке; $* - все аргументы до последнего, то есть и $11, $12 и так...
Описание слайда:
Дополнительные переменные командной строки. $# - число аргументов в командной строке; $* - все аргументы до последнего, то есть и $11, $12 и так далее; $@- все аргументы в командной строке после того, как кавычки поставлены около каждого из них. shift echo $1 $2 … $9 arg2 arg3 ….arg10

Слайд 109


echo $* arg2 arg3 …. arg12
Описание слайда:
echo $* arg2 arg3 …. arg12

Слайд 110


Отладка shell-программ Для установки контроля над shell-программой при вызове команды sh надо добавить одну из двух следующих опций: -x - опция...
Описание слайда:
Отладка shell-программ Для установки контроля над shell-программой при вызове команды sh надо добавить одну из двух следующих опций: -x - опция трассировки. Эта опция необходима для просмотра команд и аргументов по мере их выполнения. -v - опция входного контроля. Производит отображение входных строк по мере их считывания.

Слайд 111


Например, для отладки shell-процедуры filez надо ввести: sh -x filez Можно объединять опции в одну: sh -xv filez
Описание слайда:
Например, для отладки shell-процедуры filez надо ввести: sh -x filez Можно объединять опции в одну: sh -xv filez



Похожие презентации
Mypresentation.ru
Загрузить презентацию