UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
$ cat news# news: print news files, version 1HOME=. # debugging onlycd . # place holder for /usr/newsfor i in `ls -t * $HOME/.news_time`do case $i in */.news_time) break ;; *) echo news: $iesacdonetouch $HOME/.news_time$ touch .news-time$ touch x$ touch y$ newsnews: ynews: x$Команда
touchnews_time*case/news_time$ rm .news_time$ news$Отсутствие ответа удивляет и является ошибочным. Это вызвано тем, что когда команда
ls$ cat news# news: print news files, version 2HOME=. # debugging onlycd . # place holder for /usr/newsIFS='' # just a newlinefor i in `ls -t * $HOME/.news_time 2>&1`do case $i in *' not found') ;; */.news_time) break ;; *) echo news: $i ;;esacdonetouch $HOME/.news_time$ newsnews: newsnews: ynews: x$Мы должны были установить
IFS./.news_time not foundне распознавалось как три слова.
Команда
newssetls -l$ ls -l news-rwxrwxrwx 1 you 208 Oct 1 12:05 news$ set `ls -l news`-rwxrwxrwx: bad option(s)$Это один из тех случаев, когда взаимозаменяемость программы и данных на языке
shellset-rwxrwxrwx$ set X`ls -l news`$ echo "news: ($3) $5 $6 $7"news: (you) Oct 1 12:05$Здесь представлен разумный формат с указанием автора и даты сообщения вместе с именем файла. Приведем окончательный вариант команды
news# news: print news files, final versionPATH=/bin:/usr/binIFS='' # just a newlinecd /usr/newsfor i in `ls -t * $HOME/.news_time 2>&1`do IFS=' ' case $i in *' not found') ;; */.news_time) break ;; *) set X`ls -l $i` echo " $i: ($3) $5 $6 $7 " cat $i esacdonetouch $HOME/.news_timeДополнительные символы перевода строк разделяют в заголовке при печати фрагменты новостей. Первым значением
IFSnot foundlsIFSlsДобавьте в команду news флаг
-ntouch .news_time.profile
