Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 19.05.2016 21:57
Возможно, в своей голове.www scripts parser.sh test first.html second.htmlDocument-root — www.
#!/usr/bin/env bash pushd /Users/gz/Documents/web/site/www > /dev/null /Users/gz/Documents/web/cgi-bin/parser345/parser3.cgi $@ popd > /dev/nullИдём в /www/scripts, зовём first.html:
@auto[filespec] $MAIN:filespec[$filespec] @main[] $starter[/../scripts/parser.sh] $file[../scripts/test/second.html] ^if(^file.left(1) eq '/'){ $root[$request:document-root] }{ $root[^file:dirname[$filespec]/] } $path[${root}$file] $result[filespec: $filespec root: $root file: $file (^if(-f $file)[exists;missing]) path: $path exec: $starter $file $response[^file::exec[$starter;;$file]] status: $response.status stderr: $response.stderr text: $response.text]second.html:
@main[] $now[^date::now[]] $log[^now.sql-string[] executed] ^log.save[/starter.log]Вопрос: работают ли абсолютные пути (относительно document-root) в вызванном файле?
$ sh parser.sh ../scripts/test/first.html filespec: /Users/gz/Documents/web/site/www/../scripts/test/first.html root: /Users/gz/Documents/web/site/www/../scripts/test/ file: ../scripts/test/second.html (missing) path: /Users/gz/Documents/web/site/www/../scripts/test/../scripts/test/second.html exec: /../scripts/parser.sh ../scripts/test/second.html status: 0 stderr: text:second.html запускается и пишет в лог.
$ sh parser.sh ../scripts/test/first.html filespec: /Users/gz/Documents/web/site/www/../scripts/test/first.html root: /Users/gz/Documents/web/site/www/ file: /../scripts/test/second.html (exists) path: /Users/gz/Documents/web/site/www//../scripts/test/second.html exec: /../scripts/parser.sh /../scripts/test/second.html status: 0 stderr: text:second.html не запускается, никах ошибок нет, сам парсер файл видит (exists).
file.missing read failed: No such file or directory (2), actual filename '/Users/gz/Documents/web/site/www/second.html'Очевидно, файл искался от document-root, а не от текущего файла.