python - 关于变量外面有单引号的问题。
大家讲道理
大家讲道理 2017-04-18 09:41:43
0
1
494

本小虾要在linux环境下运行一个python脚本,其中有一部份就是自动部署crontab。原文如下,但是在执行后crontab -l发现由于$name在单引号里面,无法被当作变量处理,实际效果如下:

请问这种情况应该怎么破呢?

#/usr/bin/python 
import os
name = "ABC"   #ABC是具体的模块名,产品经理每一次给的模块名字都不一样
os.environ['name'] = str(name)   #把python的变量转变成shell变量
os.system("echo '*/1 * * * * source /etc/profile && python /share/yunwei/script/watchdog/open/$name/$nameCheck.py > /dev/null 2>&1'>> /var/spool/cron/root")
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
PHPzhong

name 在 Python 里面处理好就好了, 不用写到 shell:

#/usr/bin/python
import os
name = "ABC"   #ABC是具体的模块名,产品经理每一次给的模块名字都不一样
cmd_template = "echo '*/1 * * * * source /etc/profile && python /share/yunwei/script/watchdog/open/{name}/{name}Check.py > /dev/null 2>&1'>> /var/spool/cron/root"
os.system(cmd_template.format(name=name))

我回答过的问题: Python-QA

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板