UNIX — универсальная среда программирования - Керниган Брайан Уилсон
На этом ресурсе Вы можете бесплатно читать книгу онлайн UNIX — универсальная среда программирования - Керниган Брайан Уилсон. Жанр: ОС и Сети / Интернет . На сайте booksdaily.club Вы можете онлайн читать полную версию книги без регистрации и sms. Так же Вы можете ознакомится с содержанием, описанием, предисловием о произведении
$Проверим ее:
$ cx which$ which which./which$ which ed/bin/ed$ mv which /usr/you/bin$ which which/usr/you/bin/which$Первый оператор
case1>&2echoexitexit 2exit 1exit 0exitЧто произойдет, если в вашем текущем каталоге есть программа под именем
testtest$ echo 'echo hello' >test $ cx test $ which which hello ./which$Вывод: требуется больший контроль. Можно запустить команду
whichtesttesttestwhichsedechoPATH/bin/usr/binwhichPATH$ cat which# which cmd: which cmd in PATH is executed, final versionopath=$PATHPATH=/bin:/usr/bincase $# in0) echo 'Usage: which command' 1>&2; exit 2esacfor i in `echo $opath | sed 's/^:/.:/ s/::/:.:/g s/ :$/:./ s/:/ /g'`do if test -f $i/$1 # this is /bin/test then # or /usr/bin/test only echo $i/$1 exit 0 # found it fidoneexit 1 # not found$Теперь команда
whichtestsedechoPATH$ ls -l test-rwxrwxrwx 1 you 11 Oct 1 06:55 test$ which which/usr/you/bin/which$ which test./test$ rm test$ which test/bin/test$В языке
shell||&&if||iftest -f имя_файла || echo имя_файла не существуетэквивалентно
if test ! -f имя_файлаthen echo имя файла не существуетfiОперация
||||||||&&Упражнение 5.4
Почему в команде
whichPATHopathУпражнение 5.5
Если в языке
shellesaccasefiifdodone