我的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
但是,路径确实存在。我认为代字号没有被扩展或什么。
答案 0 :(得分:2)
Tilde ~
解析是一种重击功能。但是你的cronjob不是通过Bash执行的(如果你愿意,可以明确地执行)。但是,您可以使用$HOME
独立于shell来引用用户主目录。
有关详细信息,请参阅Bash reference manual。