在我的腳本中,我想打開一個新窗口來顯示變量的內容。我有兩個一半的想法:將輸出重定向到另一個窗口
像
printf "%s\n" "$data" | xterm -e less
(不起作用)。有可能以某種方式重定向輸出,或者我必須使用臨時文件嗎?類似
xterm -e 'printf "%s\n" "'"$data"'" | less'
,但這會導致問題,如果$data
包含需要轉義的內容。
在我的腳本中,我想打開一個新窗口來顯示變量的內容。我有兩個一半的想法:將輸出重定向到另一個窗口
像printf "%s\n" "$data" | xterm -e less
(不起作用)。有可能以某種方式重定向輸出,或者我必須使用臨時文件嗎?
類似xterm -e 'printf "%s\n" "'"$data"'" | less'
,但這會導致問題,如果$data
包含需要轉義的內容。
試試這個相當於例子(加空的空間,只是爲了顯示方式的單引號的字符串是得到串聯):
export data='embedded " double quote'
export data="$data embedded ' singlequote"
echo 'printf "%s\n" ' '"$data"' ' | less'
結果:
printf "%s\n" "$data" | less
那是什麼xterm會看到(就像上面的回聲一樣)。
使用xless
,xmore
或xmessage
,具體取決於您安裝了哪個。
嘗試任何一種:如果$的數據有一個`「`
printf "%s\n" "$data" | xless
printf "%s\n" "$data" | xmore /dev/stdin
printf "%s\n" "$data" | xmessage -file -
我的例子2將會失敗。 – mkj