You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用at命令调度运行bash脚本未正常执行问题求助

问题根因

  • at 任务的输出默认不会输出到发起任务的终端:at 是后台异步任务工具,脱离当前终端会话运行,执行产生的标准输出、标准错误默认会通过系统邮件发送给当前用户,不会直接打印在你操作的终端上。如果你的系统没有配置邮件服务,这些输出会直接丢失,你自然看不到任何运行迹象。
  • 你当前的任务调用方式存在缺陷,脚本大概率没有成功执行:
    1. 你没有为b.sh添加可执行权限的话,系统无法直接识别为可执行文件
    2. at 任务执行时的默认工作目录不是你发起命令的目录,直接写相对路径b.sh会找不到目标文件
    3. 执行失败的报错只会进入默认的邮件通道,你在终端看不到任何提示

修复方案

  1. 先给脚本添加可执行权限,同时记录脚本的绝对路径,比如你的脚本放在/home/yourname/scripts/b.sh,执行命令:
    chmod +x /home/yourname/scripts/b.sh
  2. 如果你需要在当前终端看到输出,先执行tty命令查询当前终端的设备路径,返回结果类似/dev/pts/0,记好这个路径。
  3. 重新提交at任务,将输出重定向到指定终端,示例命令:
    echo "/home/yourname/scripts/b.sh > /dev/pts/0 2>&1" | at now + 1 minute
    等待1分钟即可在当前终端看到输出内容。
  4. 如果你不需要实时在终端看结果,也可以将输出重定向到日志文件排查问题:
    echo "/home/yourname/scripts/b.sh > /tmp/b_sh_run.log 2>&1" | at now + 1 minute
    任务执行完成后查看/tmp/b_sh_run.log文件即可确认执行结果。

内容的提问来源于stack exchange,提问作者iyers16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:12:04