UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
} else *pto1 = *pfrom1; *pcmd = *s++; a2i(*pfrom2); if (*s == ',') { s++; a2i(*pto2); } else *pto2 = *pfrom2;}nskip(fin, n) /* skip n lines of file fin */ FILE *fin;{ char buf[BUFSIZ]; while (n-- > 0) fgets(buf, sizeof buf, fin);}ncopy(fin, n, fout) /* copy n lines from fin to fout */ FILE *fin, *fout;{ char buf[BUFSIZ]; while (n-- > 0) { if (fgets(buf, sizeof buf, fin) == NULL) return; fputs(buf, fout); }}#include "efopen.c"3.8.28
makefilefiles: files.o files1.o directory.o cc files.o files1.o directory.o -o filesp0: p0.c ttyin0.c cc p0.c ttyin0.cclean: rm -f *.o a.out3.8.29
newer# newer f: list files newer than fls -t | sed '/^'$1'$/q'3.8.30
news1# 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: $i esacdonetouch $HOME/.news_time3.8.31
news2# 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`docase $i in*' not found') ;;*/.news_time) break ;;*) echo news: $i ;;esacdonetouch $HOME/.news_time3.8.32
news3# 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_time3.8.33
nohuptrap "" 1 15if test -t 2>&1then echo "Sending output to 'nohup.out'" exec nice -5 $* >>nohup.out 2>&1else exec nice -5 $* 2>&1fi3.8.34
older# older f: list files older than fls -tr | sed '/^'$!'$/q'3.8.35
overwrite1# overwrite: copy standard input to output after EOF# version 1. BUG herePATH=/bin:/usr/bincase $# in1) ;;*) echo 'Usage: overwrite file' 1>&2; exit 2esacnew=/tmp/overwr.$$trap 'rm -f $new; exit 1' 1 2 15
