1
例如,我有一個非常簡單的腳本,ping.sh
:重定向新的xterm的輸出回到原來的終端
#!/bin/bash
/usr/bin/xterm -e ping localhost
眼下,平的輸出只有在新的xterm顯示出來。我希望輸出顯示在原始終端(ping.sh的stdout)以及新的xterm中。有沒有辦法做到這一點? PS:我正在爲這個題目苦苦掙扎。
例如,我有一個非常簡單的腳本,ping.sh
:重定向新的xterm的輸出回到原來的終端
#!/bin/bash
/usr/bin/xterm -e ping localhost
眼下,平的輸出只有在新的xterm顯示出來。我希望輸出顯示在原始終端(ping.sh的stdout)以及新的xterm中。有沒有辦法做到這一點? PS:我正在爲這個題目苦苦掙扎。
看起來像一個奇怪的事情,但是這可能工作:
#!/bin/bash
f=$(mktemp)
touch "$f"
tail -f "$f" &
/usr/bin/xterm -e "sh -c 'ping localhost 2>&1 | tee -a $f'"
我同意它的奇怪。我有一個C程序來執行ping命令並讀取它的stdout。有時候,我希望ping命令在新的xterm中執行,以便用戶可以看到,並且仍然可以被C程序讀取。 – Smitty