在linux bash脚本中,我有一个在后台启动应用程序的命令(kdmx),它生成类似于本段后面的示例的输出。我需要获取部分输出(更具体地说是“/ dev / pts / 1”和“/ dev / pts / 2”,即下面示例中第4行和第5行的一部分,其格式始终为“/ dev” / pts / *“,并将其存储在变量$ port1和$ port2上),棘手的部分是kdmx是一个正在运行的应用程序,所以我推断使用grep,awk等来捕获它不会那么容易(顺便说一句,我不掌握的工具)。输出和脚本如下。
脚本摘录:
#!/bin/bash
port1=""
port2=""
./kdmx -n -d -p/dev/ttyS0 -b115200 &
(...)
kdmx执行输出示例:
$ ./kdmx -n -d -p/dev/ttyS0 -b115200 &
[1] 6246
serial port: /dev/ttyS0
Initalizing the serial port to 115200 8n1
/dev/pts/1 is slave pty for for terminal emulator
/dev/pts/2 is slave pty for gdb
答案 0 :(得分:0)
我刚刚向kdmx提交了一个补丁系列,以公开您在状态文件中请求的信息。
补丁系列位于http://sourceforge.net/p/kgdb/mailman/message/33137836/
使用状态文件功能的示例位于http://elinux.org/Kdmx#example_2_.28automate_paths_of_gdb_pty_and_terminal_emulator_pty.29