为什么在此cron作业中波形符不能扩展的有效路径?

时间:2017-07-30 14:41:54

标签: bash cron

我的crontab中有以下几行:

PY=/home/schemelab/install/miniconda/bin/python
ST=~/prg/surgetrader

# SURGE TRADER

00  * * * * cd $ST/src/ ; $PY download.py; $PY scan.py --buy 1

当它在我的电子邮件中运行错误消息时:

X-Cron-Env: <GT=~/prg/gridtrader>
X-Cron-Env: <AGT=~/prg/adsactly-gridtrader>
X-Cron-Env: <PY=/home/schemelab/install/miniconda/bin/python>
X-Cron-Env: <ST=~/prg/surgetrader>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/schemelab>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=schemelab>
Date: Sun, 30 Jul 2017 09:50:02 -0400 (EDT)

/bin/sh: 1: cd: can't cd to ~/prg/surgetrader/src/
/home/schemelab/install/miniconda/bin/python: can't open file 'takeprofit.py': [Errno 2] No such file or directory

但是,路径确实存在。我认为代字号没有被扩展或什么。

1 个答案:

答案 0 :(得分:2)

Tilde ~解析是一种重击功能。但是你的cronjob不是通过Bash执行的(如果你愿意,可以明确地执行)。但是,您可以使用$HOME独立于shell来引用用户主目录。

有关详细信息,请参阅Bash reference manual