我正在使用 bash 在 Ubuntu(14.04) 服务器上编写远程拨号程序,但在尝试读取其输出时遇到了一些重大问题。我希望该程序能够像平常一样执行,然后我使用超时命令将其终止,如下所示:
#!/usr/bash
echo "begin"
timeout 60s minicom Cisco -d Boston >> log.txt
我可以在控制台上单独运行上述命令而不会出现任何问题,但是当我通过 bash 运行它时似乎什么也没有发生,它会超时,但我最终在 log.txt 中得到了这些字符:
^[[0m^O
我对用 bash 编写脚本还不是很熟悉;是否有关于将图形实用程序的输出附加到输出的规则?我真的很困惑为什么它会这样做。
答案1
从man minicom
-C, --capturefile=FILE
filename. Open capture file at startup.
因此,只需这样做:
#!/usr/bash
echo "begin"
timeout 60s minicom Cisco -d Boston -C log.txt