linux – 安排cron作业打开终端并按顺序运行命令

linux – 安排cron作业打开终端并按顺序运行命令,第1张

概述我在Mac上安排了一个cron作业,每天晚上11点开通终端,如下: 0 23 * * * open -a Terminal 这很棒!但我想要的不仅是打开终端,还要在其中运行一个简单的命令.从在线查看,it looks as if cron commands can be chained with &&: 0 23 * * * open -a Terminal && echo 'Hello, wor 我在Mac上安排了一个cron作业,每天晚上11点开通终端,如下:

0 23 * * * open -a Terminal

这很棒!但我想要的不仅是打开终端,还要在其中运行一个简单的命令.从在线查看,it looks as if cron commands can be chained with &&

0 23 * * * open -a Terminal && echo 'Hello,world!'

但是,此修改的cron作业只打开终端而不在那里运行第二个命令.有关如何让cron工作同时做到这两点的任何想法?

解决方法 以下答案[在分隔符之后]假定您要在终端的[内部]内运行第二个命令.否则你只需要交换cronjob上的命令(因为目前,就像你拥有它一样,echo只会在终端退出后执行),例如:

0 23 * * * echo 'Hello,world!' && open -a Terminal

现在,假设您要在新生成的终端中运行命令:

我不知道终端应用程序(来自/Applications/UtilitIEs/Terminal.app/Contents/MacOS/Terminal)接受[IE,解释]任何命令行参数,也不会读取[标准输出重定向到]标准输入的任何内容.

你正在做什么打开-a Terminal&&回声’你好,世界!’基本上是调用终端应用程序,[如果成功]打印’Hello,world!’在调用上一个命令(终端)的同一个shell上.这类似于在同一个shell中执行两个单独的命令,但只在第一个成功时才执行最新的命令.

如果你想在每次为当前用户加载bash(当前是默认的osx shell)时执行一个特定的命令(比如echo’Hello,world!’)(就像每次用户打开终端一样),你可以将该命令添加到〜/ .bash_profile.例如:

echo "echo 'Hello,world!'" >> ~/.bash_profile

现在当你打开一个终端时,命令`echo’Hello,world!’“将被执行.

由于最新版本的MacOSX默认情况下不包含任何用户的〜/ .bash_profile,因此您可以利用此功能并将crontab更改为:

0 23 * * * echo "echo 'Hello,world!' > ~/.bash_profile" && open -a Terminal

这基本上将在每次执行此crontab条目时替换〜/ .bash_profile的内容并打开终端.

这样做的缺点是无论你放在〜/ .bash_profile中,都将为每个打开的终端执行,无论是来自crontab的终端,还是任何其他用户可以在任何给定时间打开的终端.

要解决此问题,您还可以通过在echo’Hello,world!’之后放置一个尾随的rm -f~ / .bash_profile命令来从中删除〜/ .bash_profile文件:

0 23 * * * echo "echo 'Hello,world!'; rm -f ~/.bash_profile" > ~/.bash_profile" && open -a Terminal

这将导致当终端打开并调用bash时,将执行所有〜/ .bash_profile命令,包括尾随rm -f~ / .bash_profile,因此下一次调用Terminal不会再次触发你的命令,因为〜/ .bash_profile不再存在.

旁注:如果出于某种原因,您已经有了一个〜/ .bash_profile文件,而不是替换它的全部内容并在之后删除它,您可以备份原始文件,附加您的命令[包括恢复原始文件的命令]并打开终端.但我认为这不是你的情况(无论如何,如果是的话,我可以用细节扩展这个答案).

总结

以上是内存溢出为你收集整理的linux – 安排cron作业打开终端并按顺序运行命令全部内容,希望文章能够帮你解决linux – 安排cron作业打开终端并按顺序运行命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1025525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存