コマンドラインからevinceでPDFを開きたいのですが、Evinceウィンドウが開いた後、ターミナルコマンドに戻って$
次のコマンドを待ちたいと思います。
$
このコマンドを実行すると、PDFがウィンドウで開き、ターミナルに戻るときにEnterを押して、次のコマンドを待つ必要があります。
$ evince foo.pdf &
次のコマンドを入力するためにEnterをダブルクリックする必要がない方法を知っていますか?
コマンドラインを閉じた後に開いているウィンドウが閉じても問題ありません(つまり、nohup
必要はありません)。
私はbashバージョン5.1.16を使用しています。
ベストアンサー1
実際にEnterキーを押す必要はなく、端末を直接使用できます。何が起こるのかは、evince
さまざまなメッセージが標準エラーで印刷されることです。バラよりまだ準備ができていないようです。ただし、これを無視してコマンドを入力すると、どのように機能するかを確認できます。
とにかく、私はこれがあまり実用的ではないことを知っているので、標準エラーを次にリダイレクトできます/dev/null
。
evince foo.pdf 2>/dev/null &
このような内容を毎回作成したくない場合は、小さな関数を書くだけです。次の行をあなたの行~/.bashrc
(または他のシェルの場合はそれに対応する行)に追加します。
evince(){
command evince "$@" 2> /dev/null
}
command
これはrealを取得しevince
、関数名を無視し、使用する引数を関数("$@"
)に直接渡してstderrをdev / nullにリダイレクトする方法として使用されます。
ファイルを保存して新しい端末を開くと、evince
好きな方法で使用できます。