我制作了一个名为的 bash 脚本test.sh,其中包含以下内容:
#!/#bin/bash
echo "Done!"
Run Code Online (Sandbox Code Playgroud)
我输入bash test.sh | at 1549:
myusername@machine:path$ bash test.sh | at 1549
warning: commands will be executed using /bin/sh
job 4 at Fri Sep 3 15:49:00 2021
myusername@machine:path$ date
Fri Sep 3 15:48:22 EDT 2021
myusername@machine:path$ date
Fri Sep 3 15:49:12 EDT 2021
Run Code Online (Sandbox Code Playgroud)
为什么显示脚本没有执行?是不是因为我的shell是bash,如下图?
myusername@machine:path$ echo $SHELL
/bin/bash
Run Code Online (Sandbox Code Playgroud)
您将立即执行该脚本,并安排其输出以由 执行at。不用说这会失败。
我想你想要的是这个
#!/bin/bash
echo "Done!"
Run Code Online (Sandbox Code Playgroud)
假设您已将其写入一个名为myscript.
使其可执行:
chmod a+x myscript
Run Code Online (Sandbox Code Playgroud)
然后将其排队等待 15:49 执行并捕获输出myscript.log(如果您没有捕获输出,它将通过电子邮件发送到您的本地 UNIX/Linux 帐户,或者如果根本没有安装邮件子系统,那么它就会被丢弃):
at 1549 <<'X'
./myscript > myscript.log 2>&1
X
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |