Разделы презентаций


Занятие 1 2 МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Содержание

Командные файлы

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

Слайд 1Занятие 12
МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Занятие 12МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Слайд 2 Командные файлы

Командные файлы

Слайд 3Командные файлы
Командный интерпретатор shell наиболее эффективен, когда используется для запуска

так называемых командных файлов (командных сценариев, скриптов).
Командные файлы представляют

собой обычные текстовые файлы, содержащие после­довательность команд.
В командных файлах, что очень сущест­венно, можно использовать логические конструкции, подоб­ные тем, что применяются в языках высокого уровня:
- while,
- if,
- for.
Командные файлы Командный интерпретатор shell наиболее эффективен, когда используется для запуска так называемых командных файлов (командных сценариев,

Слайд 4Командные файлы
Такие логические структуры позволяют реализовывать довольно сложные алгоритмы обработки

данных и управления системой, которые невозможно реализовать

из командной строки.
Хотя в командной строке и можно обеспечить некото­рую гибкость выполнения за счет использования:
- команд test,
- операторов &&,
- операторов ||.
Командные файлы Такие логические структуры позволяют реализовывать довольно сложные алгоритмы обработки данных и управления системой,  которые

Слайд 5Командные файлы
Вот простой пример командного файла с именем dl, созданного

с помощью редактора vi:
pwd (pwd — выводит полный

путь к текущему каталогу)
ls (ls – выводит список файлов текущего каталога)
echo This is the end of the shell script

Файл dl должен быть выполняемым.
Для запуска на выполнение файла dl введем строку:
# sh dl
Командные файлы Вот простой пример командного файла с именем dl, созданного с помощью редактора vi: pwd

Слайд 6Командные файлы
Если текущим каталогом является, например, /home/user1, то результат может

выглядеть так:
# sh dl (в оболочке shell запускаем

файл dl)
/home/user1
file1
file2
file3

This is the end of the shell script
(Это конец сценария оболочки)
Командные файлы Если текущим каталогом является, например, /home/user1, то результат может выглядеть так: # sh dl

Слайд 7Командные файлы
Текстовый файл можно сделать выполняемым (командным) при помощи команды

chmod:
# chmod +x имя_файла
Например, в нашем случае:
# chmod

+x dl
Здесь имя_файла — имя текстового файла, подлежащего выпол­нению.
Данная команда устанавливает для файла атрибут исполнения (в символьной форме +х).
Указывая имя файла, пом­ните, что UNIX различает строчные и прописные литеры.
Командные файлы Текстовый файл можно сделать выполняемым (командным) при помощи команды chmod: # chmod +x имя_файла Например,

Слайд 8Командные файлы
При создании командных файлов следует учитывать несколько важных моментов:


• не начинайте командный файл символом #, если планирует­ся выполнение

этого файла в командном интерпретаторе csh (С shell);
• ни в коем случае не присваивайте командному файлу имя, совпадающее с именем одной из системных команд, таких, например, как ls, rm или mv, иначе вместо командного файла UNIX выполнит системную команду.
Объясняется это прос­то — система ищет выполняемую команду в каталогах, опре­деляемых системной переменной PATH, и только потом в ка­талоге пользователя.
Командные файлы При создании командных файлов следует учитывать несколько важных моментов: • не начинайте командный файл символом

Слайд 9Командные файлы
В командных файлах широко используются так называемые по­зиционные параметры,

задающие аргументы командной строки для выполняемого файла.
Позиционный параметр —

это число, перед которым расположен знак доллара, например, $1, $2, $3 и т. д.
При запуске командного файла параметр $1 соответствует первому по порядку аргументу после имени командного файла, параметр $2 — второму и т. д.
Допускается использовать до де­вяти позиционных параметров.
Командные файлы В командных файлах широко используются так называемые по­зиционные параметры, задающие аргументы командной строки для выполняемого

Слайд 10Командные файлы
Командный файл (предположим, он называется test_parms), содержащий операторы:
echo

1-st parameter — $1
echo 2-nd parameter — $2
echo

3-d parameter — $3
после запуска с параметрами 1, 2, 3 выводит на консоль строки:
# ./test_parms 1 2 3
1-st parameter — 1
2-nd parameter — 2
3-d parameter — 3
Командные файлы Командный файл (предположим, он называется test_parms), содержащий операторы: echo 1-st parameter — $1 echo 2-nd

Слайд 11Командные файлы
Позиционные параметры позволяют задавать параметры командной строки в командных

файлах, включая применение в конвейере команд. Приведем некоторые примеры

использова­ния позиционных параметров.
Пусть командный файл содержит строку:
ls -l | grep $1
Предположим, что файл назван list_file, тогда его выполнение (grep – поиск по шаблону) с параметром (1) text может дать, например, такой результат (если файл text существует):
# ./list_file text
-rw-rw-r— 1 root root 19 Sep 8 12:18 text
Командные файлы Позиционные параметры позволяют задавать параметры командной строки в командных файлах, включая применение в конвейере команд.

Слайд 12Командные файлы
Командная строка может содержать до 128 аргументов.
Однако командный

файл может обрабатывать одновременно только девять параметров.
Во многих случаях

требуется вводить данные с клавиатуры, присваивая их значения переменным.
Это обеспечивает команда read, которой часто предшествует команда echo.
Командные файлы Командная строка может содержать до 128 аргументов. Однако командный файл может обрабатывать одновременно только девять

Слайд 13Командные файлы
Команда echo, отображающая на экране приглашение к вводу, например:


echo "Enter Integer:"
read x
Данный фрагмент командного файла после

вывода на экран сообщения:
Enter integer:
ожидает ввода значения с клавиатуры.
Командные файлы Команда echo, отображающая на экране приглашение к вводу, например: echo

Слайд 14Командные файлы
Одна команда read позволяет присвоить значения сразу нескольким переменным,

и если параметров команды read боль­ше, чем их было введено,

то оставшимся переменным присваи­вается пустая строка.
Если количество введенных значений больше, чем параметров в команде read, то лишние значения игнорируются.
Командные файлы Одна команда read позволяет присвоить значения сразу нескольким переменным, и если параметров команды read боль­ше,

Слайд 15Командные файлы
Следующий пример демонстрирует использование команды read:

echo Enter string:


read x у
echo You entered: $x + $y
Один из

возможных результатов работы командного файла показан далее:
Enter string: (Введите строку значений: )
37 51
You entered: 37 + 51 (Вы ввели: 37 + 51)
Командные файлы Следующий пример демонстрирует использование команды read: echo Enter string: read x у echo You entered:

Слайд 16Командные файлы
Командный интерпретатор shell обрабатывает и два так называе­мых специальных

параметра — $# и $*.
Параметр $# указывает на

общее количество параметров выполняемого командного файла.
Если сохранить строку
echo The number of arguments is $#
в файле arg_num и выполнить его, то получим, например, такой результат:
# arg_num param1 param2 param3
The number of arguments is 3
(Количество аргументов - 3)
Командные файлы Командный интерпретатор shell обрабатывает и два так называе­мых специальных параметра — $# и $*. Параметр

Слайд 17Командные файлы
Параметр $* представляет собой строку, содержащую все аргументы командного

файла.
Если сохраним строку:

echo The parameters are: $*
в

файле arg_content и запустим его с параметрами Three arguments here (Здесь три аргумента), то получим такой результат:

# arg_content Three arguments here
The parameters for this command are: Three arguments here
(Параметры для этой команды: здесь три аргумента)

Командные файлы Параметр $* представляет собой строку, содержащую все аргументы командного файла. Если сохраним строку: echo The

Слайд 18Командные файлы
Командные файлы, в общем случае,

не так часто используют какие-либо математические

вычисления.
Тем не менее, для об­работки целых чисел (если такое необходимо) можно воспользо­ваться командой ехpr.
Использование этой команды лучше все­го показать на нескольких примерах.
Командные файлы Командные  файлы,  в  общем  случае,  не  так часто

Слайд 19Командные файлы
Первый пример демонстрирует вывод разности двух целых чисел на

дисплей:
echo Enter two integers
read x у
echo The

difference = `expr $x - $y`
Обратите внимание на запись выражения справа от команды ехpr.
Чтобы получить правильный результат, необходим про­бел между переменными и знаком операции.
Командные файлы Первый пример демонстрирует вывод разности двух целых чисел на дисплей: echo Enter two integers read

Слайд 20Командные файлы
Команда ехpr, кроме сложения и вычитания, позволяет выполнять умножение

и деление чисел.
В следующем примере ко­мандного файла находится произведение

двух переменных, зна­чения которых введены с клавиатуры:
echo Enter two numbers:
read x у
echo 1-st num: $x
echo 2-nd num: $y
echo Multiplying $x and $y = `expr $x '*' $y`
(Перемножить x и y)
Командные файлы Команда ехpr, кроме сложения и вычитания, позволяет выполнять умножение и деление чисел. В следующем примере

Слайд 21Командные файлы
Обратите внимание на оператор:

`expr $x '*' $у`

Здесь

для выполнения операции умножения символ * следует взять в апострофы,

иначе командный интерпретатор выдаст ошибку.
Операцию деления двух целых чисел можно выполнить, если в рассмотренном выше примере заменить символ * символом /.
Командные файлы Обратите внимание на оператор: `expr $x '*' $у` Здесь для выполнения операции умножения символ *

Слайд 22Командные файлы
Вот пример более сложных вычислений:

echo Enter two numbers:


read x у
echo First number: $x
echo Second number:

$y
echo $x '*' $y + $x '/' $y = `expr $x '*' $y + $x '/' $y`
Командные файлы Вот пример более сложных вычислений: echo Enter two numbers: read x у echo First number:

Слайд 23Командные файлы
Если сохранить указанные команды в файле с именем multi_ops

и запустить его на выполнение, для этого достаточно указать

имя файла, то можно получить результат такого вида:
# ./multi_ops
Enter two numbers:
5 3
First number: 5
Second number: 3
5*3 + 5/3 = 16
Командные файлы Если сохранить указанные команды в файле с именем multi_ops  и запустить его на выполнение,

Слайд 24Командные файлы
Обратите внимание, что перед файлом нужно указать путь до

него.
Если вы уже находитесь в директории, в которой лежит файл,

то перед именем файла нужно поставить:

./

Это указывает на то, что вы запускаете файл именно из текущей директории.
Командные файлы Обратите внимание, что перед файлом нужно указать путь до него.Если вы уже находитесь в директории,

Слайд 25Командные файлы
Нередко требуется передавать значения переменных, используе­мых в одном процессе,

другому процессу.
Все переменные како­го-либо процесса по умолчанию являются локальными

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

Слайд 26Командные файлы
Команды export имеет такой синтаксис:



# export список_переменных

Здесь список_переменных представляет собой список перемен­ных, разделенных

пробелами, причем символ $ перед именами переменных не ставится.
Любой процесс, который выполняется после этой команды, получает доступ к экспортированным переменным, но изменить их значений он не может.
Командные файлы Команды  export  имеет  такой  синтаксис: # export список_переменных Здесь список_переменных представляет

Слайд 27Командные файлы
Запишем в командный файл строку:
echo $x


и сохраним этот файл под именем demo_exp.
Этот командный

файл при выполнении ничего не выводит на экран.
Это происходит потому что команда echo ничего "не знает" о перемен­ной x.
Командные файлы Запишем в командный файл строку: echo  $x  и сохраним этот файл  под

Слайд 28Командные файлы
Присвоим переменной х значение 777 и экспортируем ее:

#

х=777
# export х

Повторно запустим командный файл demo_exp .
Теперь

на экране появится значение 777.
Командные файлы Присвоим переменной х значение 777 и экспортируем ее: # х=777 # export х Повторно запустим

Слайд 29Командные файлы
Механизм экспортирования обладает одной весьма полезной особенностью.
Если присвоить переменной

х другое значение, то это значение будет доступно другим процессам

без повторно­го выполнения команды export.
Командные файлы Механизм экспортирования обладает одной весьма полезной особенностью.Если присвоить переменной х другое значение, то это значение

Слайд 30Список литературы:
Unix и Linux: руководство системного администратора, 4-е издание, 2012,

Э. Немет, Г. Снайдер, Т. Хейн, Б. Уэйли
Для начинающих работать

в UNIX, Ф.И. Торчинский.
Организация UNIX систем и ОС Solaris 9, Торчинский Ф.И., 2-е издание, исправленное, 2016.


Список литературы:Unix и Linux: руководство системного администратора, 4-е издание, 2012, Э. Немет, Г. Снайдер, Т. Хейн, Б.

Слайд 31Благодарю за внимание!
Преподаватель: Солодухин Андрей Геннадьевич
Электронная почта: asoloduhin@kait20.ru


Благодарю за внимание!Преподаватель: Солодухин Андрей ГеннадьевичЭлектронная почта: asoloduhin@kait20.ru

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика