русс | укр

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

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

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

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


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

Специальные команды Shell


Дата добавления: 2013-12-23; просмотров: 755; Нарушение авторских прав


Пример работы интерпретатора Shell

Ниже приводится фрагмент программы Shell, связанный с обработкой сигналов.

:

#

# Установка подпрограмм обработки сигналов

#

trap "echo

trap "echo

trap "echo

#

# Замечание: Если вы перешли в другой каталог, вы можете

# сбросить прерывание SIGQUIT с обнаружением файла "core".

# Для этого вставьте соответствующую строку после команды

# cd.

#

trap "echo

 

echo " Going into loop0

while true

do

cd /tmp

trap "echo

lf

cd /usr

trap "echo

lf

sleep 1

done

echo " Leaving the loop 0

exit 0

 

Существует несколько специальных команд, являющихся внутренними для Shell. Интерпретатору не требуется создавать подоболочку для выполнения этих команд и следовательно не создаются дополнительные процессы. Эти команды рекомендуется использовать везде, где это возможно, т.к. они работают быстрее и эффективнее, чем другие команды UNIX. Некоторые из специальных команд мы уже рассмотрели, т.к. они влияют на управление процессами. Это точка (.), break, continue, exit и trap. Команда set также является специальной командой. Описание остальных специальных команд приводится ниже:

 

: Пустая команда. Она не делает ничего и может использоваться для вставки комментариев в процедуры. Ее код завершения равен 0 (true). Все аргументы, передаваемые команде :, проверяются на синтаксические ошибки. Если выдается сообщение об ошибке, заключите эти аргументы в кавычки. Подстановка параметров выполняется как и для любых других команд.

 

cd arg Делает arg текущим каталогом. Если arg не является каталогом или у пользователя нет права доступа к нему, команда завершается с ненулевым кодом завершения. Указание cd без аргументов эквивалентно вводу "cd $HOME", что возвращает вас в каталог загрузки.



 

exec arg ... Если arg является командой, то Shell выполняет ее, не создавая подоболочки. В командной строке допускаются аргументы переадресации ввода-вывода. Если указаны только аргументы, перенаправляющие ввод-вывод, то изменяются только ввод-вывод самого интерпретатора Shell.

 

hash [-r] name Этой командой запоминается место в пути поиска команды, указанной в name. Опция –r указывает Shell, что старые значения можно стереть. Если никаких аргументов не указывается, то выводится информация о запомненных командах. Hits - это количество раз, которое команда вызывалась Shell.

Cost - это мера затрат, необходимых для нахождения команды. Бывают ситуации, требующие пересчета места расположения команды.

 

newgrp arg... Команда newgrp при выполнении создает новый интерпретатор Shell, который заменяет старый. Помните, что в новом Shell будут определены только переменные системы. Все переменные, которые раньше были помечены как экспортируемые, теперь станут обыкновенными.

 

pwd Печатает текущий каталог.

 

read var... Из стандартного ввода считывается одна строка и первое слово интерпретируется как значение первой переменной, второе - как значение второй, и т.п. Все оставшиеся считанные слова присваиваются последней переменной. Код завершения равен нулю, если не был считан символ конца файла.

 

readonly var... Указанные переменные помечаются как пригодные только для чтения, так что никаких последующих переприсвоений им сделать нельзя. Если никаких аргументов не указано, то выводится список всех помеченных таким образом переменных и переменных, которые экспортируются.

 

return n Вызывает возврат из функции с кодом завершения, равным n. Если n не указано, то код завершения равен коду завершения последней выполненной команды.

 

times Печатает суммарное время, использованное пользователем и процессами, запущенными из текущей оболочки.

 

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

 

ulimit [ -f] n Эта команда устанавливает предел размера записываемого файла равным n блоков. Флаг -f устанавливает этот предел для файлов, записываемых дочерними процессами (считываться могут файлы любого размера). Команда, указанная без аргумента, показывает текущий установленный предел.

 

umask nnn Устанавливает маску для создания файлов пользователя равной nnn. Если nnn отсутствует, то печатается текущее значение маски. Эта битовая маска используется для установки прав доступа к файлам при их создании. Например, значение маски, равное восьмеричному числу 137, соответствует следующей битовой маске и правам доступа для создаваемого файла:

 

  пользоват. группа другие
восьмеричн
бит. Маска
доступ rw- r-- ---

 

unset name Для каждого указанного имени удаляет соответствующую переменную или функцию. Переменные PATH, PS1, PS2, MAILCHECK и IFS удалить нельзя.

 

wait n Shell ждет завершения всех активных дочерних процессов. Если n указано, то Shell ждет завершения только указанного процесса. Код завершения команды wait всегда равен 0, если не указан аргумент n, в противном случае он равен коду завершения дочернего процесса n.

 



<== предыдущая лекция | следующая лекция ==>
Определение функций | Создание и организация процедур Shell


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


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

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

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


 


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

 
 

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

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