Linux
crontab 啟動一個螢幕
我在crontab中通過shell腳本啟動了一個螢幕,當我進入螢幕時,左側變成了“ sh-4.1# ”。當我直接執行腳本時,它是正常的“$$ root@localhost data $$“。 發生了什麼?
外殼腳本:
#!/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
這會將您的提示設置為“嗨”。只需將其更改為您想要的即可。