.bashrc
で、開くことができる関数を定義しました。 copen myfile.pdf
を実行してbashからpdfファイル:
function copen {
if [[ $# -eq 1 ]] ; then
xdg-open "$1" > /dev/null 2>&1 & disown
return 1
fi
}
このコマンドを実行することにより、私は例えばを実行します。バックグラウンドでOkularを使用し、STDOUTとSTDERRを/dev/null
にリダイレクトして、bashから所有権を剥奪します。ただし、copen myfile.pdf
を実行した後も、出力がbashに出力され(QSqlQuery::exec: database not open
を複数回)、その理由がわかりません。そのような出力を抑制するにはどうすればよいですか?
コードをに変更しても問題が解決しないことに注意してくださいNohup xdg-open "$1" > /dev/null 2>&1 &
。
このアプローチを試してください:
#!/usr/bin/bash
copen() {
(($# == 1)) && xdg-open "$1" &>/dev/null & disown
}
copen "$1"
次のようにスクリプトを実行します。./myscript SomePDFfile.pdf
&>/dev/null
は、bash> 4で追加された>/dev/null 2>&1
の省略形です。
copen
関数にはパラメーターが必要です。