UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Если вы написали программу на языке
shellshell5.1 Совершенствование команды
calТипичная задача программирования на языке
shellcal(1)$ calusage: cal [month] year $ cal octoberBad argument $ cal 10 1983 October 1983 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31$Досадно, что месяц нужно задавать числом, и к тому же, как оказалось, команда
cal 10Указанные выше неудобства связаны с тем, что взаимодействие пользователя с программой было реализовано без привлечения команды
calbincalПервый шаг разработки — определить функции усовершенствованной команды
calcalЯзык
shellcasecase слово inшаблон) команды ;;шаблон) команды ;;...esacВ операторе
case;;;;В нашей версии команды определяется число заданных аргументов, обрабатываются названия месяцев, затем происходит обращение к настоящей команде
cal$#$# | Число аргументов |
$* | Все аргументы, передаваемые интерпретатору |
[email protected] | Аналогично $* |
$- | Флаги, передаваемые интерпретатору |
$? | Возвращение значения последней выполненной команды |
$$ | Номер процесса интерпретатора |
$! | Номер процесса последней команды, запущенной с помощью & |
$НOМЕ | Аргумент, принятый по умолчанию для команды cd |
$IFS | Список символов, разделяющих слова в аргументах |
$MAIL | Файл, изменение которого приводит к появлению сообщения "you have a mail" ("У вас есть почта") |
$PATH | Список каталогов, в которых осуществляется поиск команд |
$PS1 | Строка приглашение, по умолчанию принята '$' |
$PS2 | Строка приглашение при продолжении командной строки, по умолчанию принята '>' |
Таблица 5.1: Встроенные переменные интерпретатора
$ cat cal# cal: nicer interface to /usr/bin/calcase $# in0) set `date`; m=$2; y=$6 ;; # no args: use today
