Почему мой терминал запускается с $?

У меня есть crontab, который выполняет сценарий оболочки. Сценарий оболочки содержит коды, чтобы создать tmux и запустить некоторые команды.

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

Следующее является содержанием сценария:

#!/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

Хорошо вещи действительно работают, tmux создается, и программное обеспечение работает.

Но работает с

$ ./run.py

Это должно работать как

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

Почему я хочу работать как выше? Это работает хорошо на основную команду выполнения, но. У меня есть несколько окон, например, для печати, которые используют сценарий оболочки (и она работа doesnot)

Когда я работаю script.sh вручную это работает отлично все же.

От небольшого исследования я узнал профиль удара, не загружается. Но у меня нет подсказки, как запуститься с моей средой удара (.bashrc? я предполагаю).

Любое предложение очень ценится.

ОБНОВЛЕНИЕ

Мой обновленный crontab

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

Некоторые файлы Python работают, но у некоторых есть проблема из-за удара. Когда я echo $0 я получаю -bash . Это не мой нормальный удар.

Когда я открываю новый терминал и тип echo $0 я получаю -bash (Это корректно).And, файлы Python работают правильно. Любое предложение очень ценится.

0
задан 1 February 2017 в 00:14

0 ответов

Другие вопросы по тегам:

Похожие вопросы: