我在crontab中用shell脚本启动了一个屏幕,当我进入屏幕时,左边变成了“ sh-4.1# ”。 当我直接修改脚本时,它是正常的“ [root @ localhost data] ”。 发生了什么?
Shell脚本:
#!/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中没有使用的环境variables。
特别是在你的情况下,variables是PS1。
在脚本中设置这个variables,它将起作用。
像这样的东西:
#!/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
这将设置你的提示“嗨”。 把它改成你想要的。