| Новости | 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, а не от текущего файла.