Как заставить скрипт bash выполнять в www, а не выполнять в файловой системе / *?

У меня есть некоторые скрипты bash .sh, которые создают некоторые каталоги, загружают некоторые исходные файлы через SVN и так далее.

Скрипты работают хорошо, но меня раздражает, что они выполняют действие в filesystem/*, а не в wwww. Если они создают каталог типа /data, он создается как filesystem/data, а не www/path/data.

Я попытался запустить скрипты из подкаталогов, например

wwww/install/sh

, но все действия все еще выполняются в filesystem/*. Я также пытался работать с ./, не повезло.

Я всегда могу скопировать сгенерированную файловую структуру с filesystem/ на www, но мне очень хотелось бы знать, как я могу заставить bash выполнить там, где он есть.

Не существует жесткосвязанных ссылок, указывающих на файловую систему, один из файлов .sh выглядит так:

#!/bin/sh
cd /
mkdir data
cd /data
svn checkout <path to svn> mb32
cd mb32 
mv www/htaccess.txt www/.htaccess
INSTALL_PATH=`pwd`
INSTALL_PATH=$INSTALL_PATH"/"
to_replace="#php_value auto_prepend_file"
replace_by="php_value auto_prepend_file"
eval sed -i \'s/$to_replace/$replace_by/\' www/.htaccess
to_replace="/my/root/path/"
replace_by=$INSTALL_PATH
args="-i 's|$to_replace|$replace_by|' www/.htaccess"
eval sed $args
cp www/.htaccess ImageServer/
eval sed -i 's/app.server.php/image.server.php/g' ImageServer/.htaccess
echo "Changing permissions to configuration and log..."
sudo chmod -R 775 configuration
sudo chmod -R 775 log
echo "Done"

Когда он запускается с терминала, например, из www/a/test, он настаивает на создании filesystem/data и загрузки на filesystem/data/mb32. Я хотел бы, чтобы он загрузился в www/install/data и т. Д. Я, очевидно, пропустил некоторые очень простые и простые.

1
задан 19 February 2014 в 19:56

0 ответов

Другие вопросы по тегам:

Похожие вопросы: