Я использую bash для написания сценария программы удаленного набора на сервере Ubuntu (14.04), и у меня возникли серьезные проблемы с попыткой прочитать его вывод. Я хотел бы, чтобы программа выполнялась так, как обычно, а затем у меня есть команда тайм-аута, чтобы убить ее, например:
#!/usr/bash
echo "begin"
timeout 60s minicom Cisco -d Boston >> log.txt
Я могу запустить указанную выше команду только на консоли без каких-либо сбоев, однако, когда я запускаю ее через bash, на самом деле ничего не происходит, время ожидания истекает, но я просто получаю эти символы в log.txt:
^[[0m^O
Я немного зелен, когда дело доходит до написания сценариев в bash; возможно, существует правило о добавлении вывода из графической утилиты в вывод? Я действительно не понимаю, почему он это делает.
Из man minicom
-C, --capturefile=FILE
filename. Open capture file at startup.
Итак, просто сделайте это:
#!/usr/bash
echo "begin"
timeout 60s minicom Cisco -d Boston -C log.txt