首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cronjob执行`/usr/bin/python`‘,但不执行`usr/bin/xrdb`’。

Cronjob执行`/usr/bin/python`‘,但不执行`usr/bin/xrdb`’。
EN

Unix & Linux用户
提问于 2017-06-22 14:44:56
回答 1查看 117关注 0票数 0

我正努力创造我的第一份工作。我也刚开始使用bash脚本,虽然我确实知道一些python。我对以下问题感到困惑:

下面是用crontab -e创建的cronjob文件:

代码语言:javascript
复制
*/1 * * * * /home/darren/.bash_scripts/urxvt_colors.sh

urxvt_colors.sh的内容:

代码语言:javascript
复制
#!/bin/bash

python  ~/.Py_Scripts/xr_random_colors.py
xrdb ~/.Xresources

让我困惑的是。因此,cron作业的python部分工作,python ~/.Py_Scripts/xr_random_colors.py每分钟执行一次。这个python脚本更改了我的~/.Xresources文件中的配色方案。我每分钟检查一次就证实了这一点。但是xrdb ~/.Xresources不更新该文件。

运行which python显示/usr/bin/pythonwhich xrdb显示/usr/bin/xrdb。既然它们都是从/usr/bin执行的,那么为什么只有python脚本才会执行呢?

另外,如果我从我的终端手动运行./urxvt_colors.sh脚本,那么它将按预期工作,python脚本也会运行,xrdb ~/.Xresources也会运行。

这里发生了什么事?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-06-22 16:04:27

尝试像这样改变你的脚本

代码语言:javascript
复制
#!/bin/bash

python  ~/.Py_Scripts/xr_random_colors.py && xrdb ~/.Xresources

我建议您使用完整的文件路径。

PS可能需要在执行脚本时定义显示var。

代码语言:javascript
复制
*/1 * * * * DISPLAY=:0 /home/darren/.bash_scripts/urxvt_colors.sh
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/372727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档