UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
read response
case $response in
y*) echo $i ;;
q*) break
esac
done </dev/tty
Обращение
echo -n
response
/dev/tty
Оператор
break
for
q
q
Интересно поэкспериментировать с пробелами в аргументах для команды
pick
$ pick '1 2' 3
1 2?
3?
$
Если вы хотите узнать, как команда
pick
for i
$ grep for pick
for i in $*
$ pick '1 2' 3
1?
2?
3?
$
Эта версия не работаете поскольку операнды в цикле снова распознаются, а наличие пробелов в первом аргументе приводит к тому, что он разбивается на два аргумента. Попробуйте взять в кавычки
$*
$ grep for pick
for i in "$*"
$ pick '1 2' 3
1 2 3?
$
Такая версия тоже не работает, поскольку "
$*
$ grep for pick
for i in "[email protected]" '
$ pick '1 2' 3
1 2?
3?
$
Строка
[email protected]
$*
overwrite
В итоге мы можем сформулировать следующие правила:
$*
[email protected]
• "
$*
• «
$*
Если команда
pick
$ pick < mailinglist
вместо
$ pick `cat mailinglist`
Но мы не будем исследовать эту версию команды
pick
Первые два из приведенных ниже упражнений достаточно сложны, но полезны даже для опытных программистов, работающих на языке
shell
Попробуйте написать программу
pick
q
Хотя встроенные команды интерпретатора, такие, как
read
set
sh(1)
exec
/dev/tty
(Более простое.) Используйте команду
read
.profile
TERM
5.8 Команда
news
В гл. 1 упоминалось о том, что в вашей системе может быть команда
news
news
shell
Обычно основная идея таких программ заключается в том, что отдельные фрагменты новостей хранятся по одному в файлах в специальном каталоге типа
/usr/news
news
/usr/news
.news_time
'.'
news_time
/usr/news