2014-11-06 18 views
-1

在Linux bash腳本中,我有一個啓動後臺應用程序(kdmx)的命令,該應用程序生成類似於本段後面的示例的輸出。我需要獲取輸出的一部分(更具體地說是「/ dev/pts/1」和「/ dev/pts/2」,即以下示例中第4行和第5行的一部分,其格式始終爲「/ dev/pts/*「,並將其存儲在變量$ port1和$ port2中),棘手的部分是kdmx是一個正在運行的應用程序,所以我推斷使用grep,awk等來抓它並不容易(順便說一句,我不掌握的工具)。下面的輸出和腳本。將正在運行的應用程序輸出的一部分存儲到bash腳本變量中

  1. 腳本摘錄:

    #!/bin/bash 
    
    port1="" 
    port2="" 
    
    ./kdmx -n -d -p/dev/ttyS0 -b115200 & 
    (...) 
    
  2. 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

是的,我知道。我已經試過了代碼示例,但格式化得到了所有的混亂,所以我改成了Blockquote。現在修復。 – jaff 2014-11-06 20:05:31

+0

你想保存到變量只/ dev/pts/*,或整個字符串? – tinySandy 2014-12-13 07:30:19

回答

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

+0

補丁現在已經在kernel.org git倉庫中提交:https://git.kernel.org/cgit/utils/kernel/kgdb/agent-proxy.git/ git clone git://git.kernel.org /pub/scm/utils/kernel/kgdb/agent-proxy.git/ – 2014-12-11 21:30:45

+0

在上述註釋中格式化fubar。它應該在單獨的行上顯示「git clone git:// ...」。 – 2014-12-11 21:37:05

相關問題