русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Познакомимся с командой echo, переменными оболочки и параметрами запуска программ


Дата добавления: 2014-11-27; просмотров: 577; Нарушение авторских прав


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

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

int main(int argc, char *argv[], char *env[])]

Эти три аргумента означают следующее:

argc– количество параметров, переданных при запуске программы.

char *argv[]- значения параметров, переданных при запуске программы.

char *env[]значения переменных оболочки.

 

/* Program ARGS.C */

#include <stdio.h>

#include <stdlib.h>

 

int main(int argc, char *argv[], char *env[])

{

int i;

 

printf("The value of argc is %d \n\n", argc);

printf("These are the %d command-line arguments passed to"

" main:\n\n", argc);

 

for (i = 0; i < argc; i++)

printf(" argv[%d]: %s\n", i, argv[i]);

 

printf("\nThe environment string(s) on this system are:\n\n");

 

for (i = 0; env[i] != NULL; i++)

printf(" env[%d]: %s\n", i, env[i]);

 

return 0;

}

 

Приведем еще несколько переменных окружения и укажем на их роль. Дадим следующую команду.

echo $MAIL

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

/var/spool/mail/root

Командная строка начинается всегда с информации, определяемой переменной $PS1.



echo $PS1

[\u@\h \W]\$

После такого вывода ясно, что конкретно указывается в строке перед полем для набора команды (еще называемой строкой приглашения). При загрузке ASPLinux Live CD определена такая информация: \u – имя пользователя, \h – имя хоста (компьютера) и \W – текущая директория. Непосредственно перед полем ввода команд пользователя расположен знак $.

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

echo $PATH

получим список каталогов с основными утилитами.

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin: /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

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

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

. <имя файла>

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

Теперь исполните команду, изменяющую текущий (активный) каталог,

cd ~

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

cat > script2

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

#!/bin/bash

echo PATH

Такой сценарий после выполнения выводит PATH. При наборе в конце каждой строки нажимайте клавишу <Enter>, а по завершении – <Ctrl+d>. Далее надо придать файлу свойство, позволяющее выполнять его.

chmod u+x script2

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

/root/script2

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



<== предыдущая лекция | следующая лекция ==>
Stty –a | Script2


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.258 сек.