2016-10-17 8 views
1

私のスクリプトでは、変数の内容を表示するために新しいウィンドウを開きたいと思っています。出力を別のウィンドウにリダイレクト

  1. 何かprintf "%s\n" "$data" | xterm -e lessのように(動作しない):私は2つの中途半端なアイデアを持っています。何とか出力をリダイレクトすることは可能ですか、または一時ファイルを使用する必要がありますか?

  2. xterm -e 'printf "%s\n" "'"$data"'" | less'のようなものですが、これはエスケープする必要があるものがある場合は$dataに問題があります。

答えて

0

(ただ単一引用符で囲まれた文字列は、get連結されている方法を表示するには、空のスペースを追加しました)この等価例を試してみてください。何で

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

:中

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

結果xtermは(上記のechoと同様に)表示されます。

+0

私の例$データは '" 'を持っている場合は2が失敗します。 – mkj

0

インストールした内容に応じて、xlessxmore、またはxmessageを使用してください。

は、これらのいずれかをお試しください:

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

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

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

関連する問題