Por que meu terminal está começando com $?

0

Eu tenho um crontab que executa um shell script. O shell script contém códigos para criar o tmux e lançar alguns comandos.

@reboot /home/netforce/scripts/script.sh > /dev/null

O seguinte é o conteúdo do script:

#!/bin/bash
sess=erp

if [ "'tmux ls | grep $sess'" != "" ]  ; then

   echo "session $sess already running"
   exit 1
fi

echo "starting session"

tmux new-session -d -s erp
tmux rename-window 'server'
tmux send-keys 'supervise ~/svc/netforce' 'C-m'
sleep 2

Bem, as coisas funcionam, o tmux é criado e o software está em execução.

Mas está sendo executado com

$ ./run.py

Ele deve estar em execução como

netforce@netforce-computer:~/netforce$ ./run.py

Por que eu quero correr como acima? Funciona bem para o comando main run mas. Eu tenho várias janelas, por exemplo, para impressão que usam o script shell (e não funciona)

Quando eu executo o script.sh manualmente, ele funciona perfeitamente.

De pouca pesquisa eu vim a saber que o perfil bash não está carregado. Mas eu não tenho idéia de como iniciar com o meu ambiente bash (.bashrc? Eu suponho).

Qualquer sugestão é muito apreciada.

UPDATE

Meu crontab atualizado é

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

@reboot sleep 60 && /home/netforce/asus_scripts/start-erp.sh > /dev/null
#* */4 * * * /home/netforce/backup/backup_db.py

Alguns arquivos python estão funcionando, mas alguns têm problemas devido ao bash. Quando eu echo $0 i receber -bash . Esta não é a minha festa normal.

Quando eu abro um novo terminal e digito echo $0 i recebo -bash (Isso está correto) .E os arquivos python estão funcionando corretamente. Qualquer sugestão é muito apreciada.

    
por Sijan Shrestha 25.01.2017 / 08:56

0 respostas