Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python crontab中的目录变量快捷方式_Python_Bash_Cron_Sh_Crontab - Fatal编程技术网

Python crontab中的目录变量快捷方式

Python crontab中的目录变量快捷方式,python,bash,cron,sh,crontab,Python,Bash,Cron,Sh,Crontab,在我的crontab中,我想做如下操作: # crontab PYTHONPATH=$HOME/python_proj_dir/ SC=$PYTHONPATH/script_dir/ # SC = ShortCut 0 * * * * python27 $SC/script.py 然而,只有这样做: PYTHONPATH=/home/me/python_proj_dir/ 工作。如果SC=/home/me/python\u proj\u dir/script\u dir/,则运行python

在我的crontab中,我想做如下操作:

# crontab
PYTHONPATH=$HOME/python_proj_dir/
SC=$PYTHONPATH/script_dir/ # SC = ShortCut
0 * * * * python27 $SC/script.py
然而,只有这样做:

PYTHONPATH=/home/me/python_proj_dir/
工作。如果SC=/home/me/python\u proj\u dir/script\u dir/,则运行python脚本的行甚至无法工作

我也试着先回家:

HOME=/home/me/
0 * * * * python27 $HOME/script.py # This does not work
我得到的错误类似于:

python27:无法打开文件“$HOME/script.py”:[Errno 2]没有这样的文件或目录

我已经通过使用完整/绝对路径使其工作,但是我想使用变量$SC(快捷方式),这样行的长度就不会超过9000个字符,并且通过简单地更改$SC,就可以轻松地将项目移动到其他用户目录或新的公司服务器


我看到了,但它是用来向程序发送变量的。

$HOME
是cron用户不知道的。另外,我怀疑
python27
单独起作用:你应该使用这个二进制文件的完整路径。啊,这应该被发布到Unix和Linux吗,也许?@fedorqui我通过添加我的路径让python27工作。路径=…东西…啊,对了,我错过了那部分。这里的问题是不能基于另一个变量设置变量。看见我刚刚用下面的cron测试了它:
SC=“hello”
然后
PY=$SC/ba
,最后是
***env>/tmp/myenv
。在
myenv
中,我得到了
PY=$SC/ba
,即,
$SC
没有被替换。@fedorqui我明白了。。。这一定是$HOME/script.py也不起作用的原因。有没有办法让它发挥作用?用路径字符串连接变量?