Программы shell
9.1.1. Создание простых программ shell
Начнем описание создания простых программ shell, которые выполняют задачи:
- печать текущего справочника;
- список содержимого этого справочника;
- отображение следующих сообщений на вашем терминале:
"This is the end of the shell program."
С помощью редактора создайте файл dl и введите в него строки:
pwd<CR>
ls<CR>
echo This is the end of the shell program.<CR>Теперь вы имеете программу shell. Вы можете с помощью cat отобразить содержимое файла:
$ cat dl<CR>
pwd
ls
echo This is the end of the shell program.
$9.1.2. Выполнение программ shell
Выполнить shell программу вы можете с помощью команды sh. Введите:
sh dl<CR>
Когда команда dl выполняется с помощью sh, то вначале печатается имя пути текущего справочника, потом список файлов в текущем справочнике и в конце комментарий: "This is the end of the shell program."
С помощью команды chmod вы можете сделать файл исполняемым:
$ chmod u+x dl<CR>
$ ls -l<CR>
total 2
-xw------ 1 login login 3661 Nov 2 10:28 mbox
-xwx----- 1 login login 48 Nov 15 10:50 dl
$Обратите внимание, что chmod включает разрешение на выполнение (+x) для пользователя (u). Теперь dl является исполняемой программой. Попытайтесь выполнить ее. Введите:
dl<CR>
9.1.3. Создание справочника bin для исполняемых файлов
Чтобы сделать shell программы доступными изо всех ваших справочников, вы можете создать справочник bin в своем регистрационном справочнике и переписать shell программы в этот справочник.
С помощью переменной PATH вы можете включить ваш справочник bin:
PATH = $PATH:$HOME/bin
9.1.4. Ограничения при именовании программ shell
shell программе вы можете дать любое имя, не совпадающее с именами системных команд. Если имя вашей программы совпадает с именем команды системы, то система будет выполнять вашу команду вместо системной.
- 763 просмотра
Еще материалы по теме:
- Введение в Linux
- Выбираем виртуальный сервер
- Linux для многоязычных пользователей и изучающих языки
- Беспроводные сетевые карты
- Проверка уровня чернил в принтере Epson
- shell
