Продолжим изучать команду echo — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Продолжим изучать команду echo

2022-09-15 50
Продолжим изучать команду echo 0.00 из 5.00 0 оценок
Заказать работу

Команда echo, как было сказано выше, позволяет распечатать на экране значения отдельных переменных оболочки, в том числе и переменных окружения, задающих условия выполнения программ (в том числе и самой оболочки). Принято говорить, что такие переменные создают среду окружения. Выше мы приводили команду printenv, распечатывающую значения всех переменных оболочки. Их инициализация задается многими сценариями, выполняемыми в системе.

Теперь познакомимся с тем, как можно завести в системе собственные переменные. Значения, получаемые ими, можено выводить командой echo. Три следующие команды вводят переменные и придают им разные значения

a=5

b=1

c=one

Как видно переменные пользователя создаются при присваивании им значений. Два следующих оператора вводят еще две новые переменные, но их значение определяется значениями переменных, уже введенных ранее

d=$a+$b

e=$a+$c

Заметим, что по умолчанию переменные оболочки будут иметь текстовый тип, а значит, получат значения такого же типа. Приведенные далее операторы выводят значения всех пяти переменных. Обратите внимание на значения d и e, являющихся текстовыми.

echo $a $b $c

echo $d $e

5 1 one

5+1 5+one

В заключение этого пункта продемонстрируем для команды echo действие опции –n. Последняя позволяет осуществить вывод в одной строке результатов нескольких таких операторов

Echo -n “First line - ”

echo $a $b $c

First line – 5 1 one

Echo -n “Second line: ”

echo $d $e

Second line: 5+1 5+one

Изучим, как запускать исполнимые файлы в командном режиме.

Сделаем небольшое отступление о том, как можно выполнять внешние команды операционной системы (им соответствуют исполнимые файлы на диске). Отметим отличия в этом вопросе семейства UNIX/Linux от Windows. Последние так же имеет в своем составе переменную PATH (правда в последних версиях она теряет свое значение).

При вызове программы в командном режиме Windows, сначала проверяются текущий каталог, а затем все каталоги, указанные в этой переменной окружения. В системах UNIX/Linux текущий каталог не проверяется. Поэтому, если в Linux надо вызвать команду, запуская исполнимый файл, расположенный в каталоге не указанном в PATH, можно использовать несколько способов.

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

./<имя файла>

Можно использовать символ точка для вызова команды из текущего каталога, набрав следующее.

. < имя файла

(после точки надо обязательно вставить пробел).

Это аналогично выполнению команды.

bash < имя файла >

Продолжим изучать, как выполнять команды. Сначала наберем команду, изменяющую текущий (активный) каталог на домашний.

cd ~

Далее воспользуемся такой командой

cat > script2

для того, чтобы набрать следующий текст

#!/bin/bash

echo Hello

Такой сценарий (мы упоминали этот термин в работе 1) после выполнения выводит Hello. При наборе в конце каждой строки нажимайте клавишу <Enter>, а по завершении – <Ctrl+D>. Надо придать файлу свойство, позволяющее выполнять его. 

chmod u+x script2

Запустим этот сценарий, задавая полный путь к файлу

/root/script2

Относительный путь к файлу сценария, если он расположен в текущем каталоге, записывается так

Script2

Вызвать скрипт можно и по-другому

Script2

Напомним, что в последнем случае между точкой и именем сценария следует поставить пробел. А так же так.

Bash s cript2

Во всех случаях результат будет таким

Hello

Если просто задать имя файла

Script2

то выводится сообщение о том, что файла нет

bash: script2: command not found

Еще раз поясним, что каталог /root, где хранится сценарий, не указан в переменной PATH.

Задание 14.

Проделайте следующие действия. Добавьте в значение переменной PATH каталог / home. После этого надо выполнить еще команду export PATH. Перенесите туда созданный сценарий и опробуйте разные способы его выполнения.

Упомянутая ранее команда cd предназначена для смены активного каталога. Фактически она позволяет «путешествовать» в иерархической системе директорий. Для этого после команды указывайте имя выбранного каталога (спустимся на один уровень вниз) или две точки (поднимемся на один уровень вверх). Сделаем второе, предварительно определив текущий каталог

Pwd

/home/stud

Cd..

Теперь мы находимся в каталоге /home. Поднявшись еще на уровень перейдем в корневом каталоге (точнее – текущим является корневой каталог «/»). Отсюда наш сценарий можно вызвать, указывая полный путь, как делали ранее, или используя относительный

/home/ stud /script2

Вспомним, что в системе существует домашний каталог пользователя stud, расположенный в /home. Сделаем его активным.

Cd home

cd stud

Команде cd можно задать полное имя

Cd /home/ stud

Перенесем в директорию /home сценарий script2 командой копирования файлов.

Cp /root/script2 /home

Этой команде указывается сначала что копировать, а затем – куда. Активным является каталог, по отношению к которому сценарий находится на один уровень выше. Относительный путь для вызова задается следующим образом.

Script2

Задание 15.

Создайте сценарий, например, выводящий простую текстовую строку. Поместите две модификации такого файла, выводящие разные сообщения, в текущий каталог и указанный в переменной PATH. Попробуйте запустить сценарии в обоих каталогах, сделав их активными. Сделайте это в Linux и Windows и определите, какой из файлов с одинаковыми именами (или оба) выполняется при задании относительного имени. Для первой системы Вы знаете, как это сделать, а для второй, перезагрузив компьютер, сначала в меню «Пуск» выберите команду «Выполнить», а затем наберите и исполните такую команду

Copy con files.bat

Команда copy в Windows аналогично cp в Linux. Сначала указывается, откуда копировать (в нашем случае - системная консоль), а затем куда – файл с расширением bat, являющийся аналогом сценария Linux и имеющий свойство исполнимого файла. Для завершения ввода содержимого файла надо набрать <Ctrl+Z>.

Теперь команду можно выполнить так

Files.bat

Вспомните об отличии в исполнении команд из текущего каталога двух операционных систем: Windows и Linux. Если теперь перейти в корневой каталог

сd \

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

Files.bat

– нет.

Во втором случае будет выведено такое сообщение.

Файл “files.bat” не является внутренней или внешней командой, исполняемой программой или пакетным файлом

Для того чтобы завершить сеанс командного режима в Windows, выполните

Exit

Вернемся в ОС Astra Linux, перезагрузив компьютер.


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.