Experimente su - nico -c "/home/nico/script_home/subscripta.sh"
Temos:
uma pasta /home/nico/script_home
com alguns scripts bash:
main.sh
subscripta.sh
sqlscripta.sh
Nos conectamos como root e cd /home/nico/script_home/
./main.sh
Temos como resultado:
subscripta.sh
- nenhum arquivo ou diretório desse tipo Percebi que su - nico -c "pwd"
retorna /home/nico/
Então, tentei alterar main.sh
para ./script_home/subscripta.sh
, mas sem sucesso.
Qual é a sintaxe correta para evitar o erro no arquivo ou diretório ao executar um script com su -?
#main.sh
su - nico -c "./subscripta.sh"
su - nico -c "sqlplus username/pass@some_oracle_db @script_home/sqlscripta.sql"
Não faça su -
- que faz um login total para o ID do usuário, incluindo a configuração HOME para qualquer diretório pessoal do ID do usuário.
Experimente su nico -c "./script.sh"
Além disso, certifique-se de que script.sh esteja marcado como executável.