2016-10-17 69 views
1

在我的腳本中,我想打開一個新窗口來顯示變量的內容。我有兩個一半的想法:將輸出重定向到另一個窗口

  1. printf "%s\n" "$data" | xterm -e less(不起作用)。有可能以某種方式重定向輸出,或者我必須使用臨時文件嗎?

  2. 類似xterm -e 'printf "%s\n" "'"$data"'" | less',但這會導致問題,如果$data包含需要轉義的內容。

回答

0

試試這個相當於例子(加空的空間,只是爲了顯示方式的單引號的字符串是得到串聯):

export data='embedded " double quote' 
export data="$data embedded ' singlequote" 
echo 'printf "%s\n" ' '"$data"' ' | less' 

結果:

printf "%s\n" "$data" | less 

那是什麼xterm會看到(就像上面的回聲一樣)。

+0

我的例子2將會失敗。 – mkj

0

使用xless,xmorexmessage,具體取決於您安裝了哪個。

嘗試任何一種:如果$的數據有一個`「`

printf "%s\n" "$data" | xless

printf "%s\n" "$data" | xmore /dev/stdin

printf "%s\n" "$data" | xmessage -file -

相關問題