Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функции. Переменные устанавливаемые оболочкой




Псевдонимы команд

Переменные устанавливаемые оболочкой

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

PPID номер родительского процесса оболочки.

PWD текущий рабочий каталог.

OLDPWD

каталог, который был рабочим до текущего.

UID идентификатор пользователя, запустившего оболочку.

RANDOM

при извлечении значения данной переменной возвращается случайное число от 0 до 32767.

LINENO

номер текущей строки сценария.

HOSTNAME

имя хоста.

Задание 3: Просмотрите значения переменых PPID, PWD, OLDPWD, UID, RANDOM и HOST­NAME и сохраните их в файле отчёта (lab5.txt) в формате “имя_переменной=значение”.

Bash позволяет определять псевдонимы для наиболее часто используемых команд. Например, если Вы часто используете команду netstat -ran -f inet, то, чтобы не набирать ее каждый раз, Вы можете определить для этой команды псевдоним nsr и использовать его вместо команды. Для определения такого псевдонима используется команда:

alias nsr=’netstat -ran -f inet’

Псевдоним действует до завершения процесса оболочки. Если Вы хотите использовать псевдо­ним постоянно, то следует записать команду, определяющую псевдоним, в файл.bashrc.

Команда alias выполненная без параметров, выводит список определенных псевдонимов. Если в качестве параметра задано только имя, то выводится определение указанного псевдонима. Если команда выполнена в виде:

alias имя=команда

то создаётся новый (или переопределяется существующий) псевдоним. Первое слово команды может, в свою очередь, также являться псевдонимом, однако если оно совпадает с именем исходного псевдонима, то оболочка не будет его преобразовывать. Например, можно определить псевдоним ls для команды ls -F, и оболочка не будет раскрывать его рекурсивно. Для удаления псевдонима используется команда unalias. Псевдонимы можно использовать только в интерактивном режиме.

 

Задание 4:Создайте псевдонимы:  
Is для команды Is -G  
  для команды Is -1  
la для команды Is -a  
pa для команды ps ax  
X для команды startx  
Сохраните команды, определяющие псевдонимы в файле.bashrc, чтобы они выполнялись каж-
дый раз при запуске о болочки.  

 

Функции определяются следующим образом:

[ function ] имя() { список; }

Данная конструкция определяет функцию с указанным именем. Список команд, заключённый в фигурные скобки, является телом функции. Этот список выполняется каждый раз при вызове функции. Выполнение функции осуществляется в том же процессе, что и её вызов, т.е. все изменения окружения процесса остаются в силе после выхода из функции. Вызов функции осуществляется по её имени так же, как и запуск любой команды. Функции могут передаваться аргументы. Во время выполнения функции аргументы заменяют позиционные параметры ($1, $2,...), после выхода из функции позиционные параметры восстанавливаются.

Команда return завершает выполнение функции и осуществляет переход к команде следу­ющей за вызовом функции. Функции могут быть рекурсивными. Пример функции:

func1() { mkdir $1; touch $1/$2; }

Выполните вызов данной функции следующим образом:

func1 dir1 file1

Задание 5: Определите функцию lab, которая будет выводить строку "Лабораторная работа N", где N передаётся функции в качестве аргумента, а затем строку содержащую Ваши имя и фамилию. Сохраните определение функции в файле.bashrc. Добавьте результат работы функции в файл отчета.

 

 

Лабораторная работа № 6

Работа с файловыми системами.




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


Дата добавления: 2014-12-07; Просмотров: 365; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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