bash - 如何运行产生 tmux 会话的 cron 作业?(苹果系统)
问题描述
我在 MacOS Catalina 上。我正在尝试运行一个 cron 作业,该作业会在 Windows 中生成一个命名的 tmux 会话。这是crontab -l
:
* * * * * cd /Users/dev/project; ./start.sh; ./poll 2>> /tmp/cron.out
但是我没有看到我与tmux ls
. 在我的错误日志中cat /tmp/cron.out
./poll: line 3: tmux: command not found
./poll: line 5: tmux: command not found
这是我正在运行的脚本。我为我的用户安装了 tmux,它可以正常工作。当我poll
正常执行时,它工作得很好。
这里是start.sh
:
#!/bin/bash
tmux kill-session -t collect
tmux new -s "collect" -d ./stuff
解决方案
如果您tmux
在常规终端中运行,它将搜索$PATH
变量以找到正确的文件夹。
执行的脚本与您的用户cron
不共享相同的环境$PATH
变量,因此该脚本找不到可扩展的。
您可以将其添加$PATH
到您的脚本中,如下所示:
#!/bin/bash
PATH=/usr/local/bin
tmux kill-session -t collect
tmux new -s "collect" -d ./stuff
但我想在你的情况下使用完整路径更具可读性!
阅读有关$PATH
unix.stackexchange 的更多信息
推荐阅读
- android - Flutter - 单击按钮时在 GridView 中添加容器(小部件)?
- python - 单元测试用例没有在 python 中执行
- javascript - 用户输入正确密码后,如何使提交按钮重定向到另一个页面?
- python - 在 tkinter 中检查时如何打印相应的复选框名称?
- ios - 在 Xcode 中构建档案时出错(我使用过 Unity 和 Firebase)
- javascript - 向下滚动功能
- python - 无法在 jupyter 实验室中导入 pymc3
- r - 工作空间中加载的包和对象的源代码引用 (srcref)
- vba - 我收到一个未知的文件路径错误,我不知道为什么?
- ruby-on-rails - 在 Windows 上运行 bundle install 时遇到问题