Leonardo139
(usa Ubuntu)
Enviado em 24/07/2017 - 15:00h
Olá, é a minha primeira vez usando o fórum então desculpem qualquer coisa.
Fiz um shell script em /sbin/ nomeado ligar, "/sbin/ligar.sh". Eu uso esse script em um job no crontab, o script funciona perfeitamente.
O conteúdo do script "ligar.sh" é o seguinte:
#!/bin/bash
/otserv/theforgottenserver
Ele funciona normalmente, acessa a pasta "/otserv/" e abre o executavel "theforgottenserver". O problema é que o executavel "theforgottenserver" precisa ler outros arquivos dentro da pasta "/otserv/", só que depois de abrir o "theforgottenserver" o script aparentemente saí do diretorio /otserv/, e então o theforgottenserver não consegue ler os demais arquivos localizados em /otserv/.
Pra esclarescer, quando o theforgottenserver é iniciado, ele tenta ler por exemplo ./config.lua e ./data, (que estão dentro da pasta /otserv/) mas quando o script executa o theforgottenserver, ele "esquece" que o diretorio pra ele ler os outros arquivos é /otserv/. Basicamente ele sai do /otserv/ em que foi dado o /cd na linha anterior.
Li alguns tópicos sobre isso em alguns fóruns, que instruem a usar "alias" ou /cd no script, como:
#!/bin/bash
cd /otserv
/./theforgottenserv
exec bash
Ainda não testei o script acima, poís não estou em casa, esse método realmente asseguraria que o theforgottenserver buscasse os arquivos em /otserv/? Tem outro método que recomendam?
Grato desde já.