Marko Asked: 2021-09-25 00:17:11 +0800 CST2021-09-25 00:17:11 +0800 CST 2021-09-25 00:17:11 +0800 CST 运行命令立即运行脚本 772 我尝试使用“at”命令在特定时间停止和启动服务器,但由于某种原因,脚本立即运行。我尝试了不同的方法来做到这一点,但它总是会运行。我究竟做错了什么?我试着这样做: ./stop | at 03:52 092421 像这样: ./start | at 04:00 tommorow shell at 1 个回答 Voted Best Answer Kamil Maciorowski 2021-09-25T00:59:52+08:002021-09-25T00:59:52+08:00 我究竟做错了什么? 您正在调用./stop(或./start)。不是at立即运行脚本的人。是你。 由./stop | at …您./stop同时运行at。这就是管道 ( |) 在外壳中的工作方式。的输出./stop转到at。_ 这不是你想要的。 at期望一个命令(您想稍后运行)作为其标准输入上的字符串。而不是./stop你想要传递一个字符串的输出,说./stop. 管道传输字符串的基本方法是echo: echo './stop' | at … 这将运行echo和at. 后一个工具将获取前一个工具的输出。输出实际上是./stop. 这就是你想要的。
您正在调用
./stop
(或./start
)。不是at
立即运行脚本的人。是你。由
./stop | at …
您./stop
同时运行at
。这就是管道 (|
) 在外壳中的工作方式。的输出./stop
转到at
。_ 这不是你想要的。at
期望一个命令(您想稍后运行)作为其标准输入上的字符串。而不是./stop
你想要传递一个字符串的输出,说./stop
. 管道传输字符串的基本方法是echo
:这将运行
echo
和at
. 后一个工具将获取前一个工具的输出。输出实际上是./stop
. 这就是你想要的。