Está bem no topo:
cd /
muda para o diretório raiz. Além disso, a barra na linha 4 precisa ser removida.
Eu tenho alguns scripts .sh
bash que criam alguns diretórios, fazem o download de alguns arquivos de origem via SVN e assim por diante.
Os scripts funcionam bem, mas me irrita que eles estejam realizando a ação em
filesystem/*
, não em wwww
. Se eles criarem um diretório como /data
, ele será criado como filesystem/data
, não www/path/data
.
Eu tentei executar os scripts de dentro de subdiretórios, por exemplo
wwww/install/sh
mas toda a ação ainda é executada em filesystem/*
. Eu também tentei rodar com ./
, sem sorte.
Eu sempre sou capaz de copiar a estrutura de arquivos gerada de filesystem/
para www
, mas eu realmente gostaria de saber como eu posso forçar o bash a executar onde está.
Não há links codificados apontando para o sistema de arquivos, um dos arquivos .sh se parece com isso
#!/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"
Quando ele é executado a partir do terminal, por exemplo, de www/a/test
, ele insiste em criar filesystem/data
e fazer o download para filesystem/data/mb32
. Eu gostaria que ele baixasse para www/install/data
etc. Estou obviamente perdendo algumas bem simples e básicas.
Está bem no topo:
cd /
muda para o diretório raiz. Além disso, a barra na linha 4 precisa ser removida.