Execute o bash_profile no trabalho cron

2

Eu tive um problema que meu script cron não estava carregando as variáveis de ambiente, então eu adicionei a seguinte linha:

#!/bin/sh
bash /root/.bash_profile

Isso parece não ter efeito e as variáveis de caminho não estão sendo definidas corretamente. Como executo o script bash_profile

    
por DD. 07.02.2012 / 16:54

3 respostas

4

bash /root/.bash_profile criará um novo processo bash , executará esse arquivo (e suponho que defina suas variáveis env enquanto o fizer) e, em seguida, sairá, levando as variáveis env recém-definidas com ele.

Experimente . /root/.bash_profile . Ou source /root/.bash_profile . Isso executará o arquivo no processo bash atual, assim suas variáveis env estarão disponíveis para o processo atual.

Você também pode usar #!/bin/bash em vez de #!/bin/sh se for fazer invocações no estilo bash.

    
por 07.02.2012 / 17:04
1

. /root/.bash_profile ou source /root/.bash_profile . que diz para executar esse arquivo no shell atual. Seu método executa .bash_profile em s subshell, Isso configura as variáveis no subshell, então este subshell sai, levando essas variáveis com ele.

    
por 07.02.2012 / 17:02
0

Se você deseja incluir as variáveis no arquivo .bash_profile , é necessário inserir o script em seu script.

A simples execução do script não inclui as variáveis exportadas.

    
por 07.02.2012 / 17:04

Tags