Я запустил экран с помощью сценария оболочки в crontab, когда я вошел в экран, левая сторона стала "sh-4.1 #". Хотя я запускал сценарий напрямую, он был нормально с"[данные root @ localhost]". Что произошло?
Сценарий оболочки:
#!/bin/bash
cd /data
scr_name="test"
pid=`screen -ls | grep -w $scr_name`
if [ -z "$pid" ];
then
screen -dmS $scr_name
fi
И crontab:
*/1 * * * * /bin/bash -l /data/test.sh
НОТА: он работал в CENTOS5.5, но не в CENTOS6.3, и теперь я хочу запустить его в CENTOS6.3.
Это из-за переменных окружения, которые не используются в cron.
Конкретно в вашем случае переменная PS1.
Установите эту переменную в своем скрипте, и она будет работать.
Что-то вроде этого:
#!/bin/bash
scr_name="test"
/bin/env
export PS1=hi
pid=`screen -ls | grep -w $scr_name`
if [ -z "$pid" ];
then
screen -dmS $scr_name
fi
Это установит ваше приглашение на «привет». Просто измените его на то, что хотите.