假设我的 中有以下内容crontab
:
* * * * * command1 -option A; command2; command3; etc.
我想cron
使用特定的 shell 运行该行中的命令。我怎样才能做到这一点?
我知道从技术上讲我可以将这些命令放入一个文件中,添加相应的 shebang,然后只要求cron
运行该 shell 脚本,但我想避免这种情况。有什么方法可以cron
在特定的 shell 中运行一组命令吗?
答案1
您可以将 cron 字符串更改为:
* * * * * /bin/sh commannd1..; /bin/tcsh command2... ; /bin/zsh command3
这是比较极端的情况。但您可以在命令之前添加特定 shell 的名称前缀。
另一个选项是将所有命令回显到特定 shell
* * * * * echo 'comand1...;command2....;command3...' | /bin/sh