私はUbuntuに尋ねて、以下を提案していた答えを編集しました
nohup gedit >& /dev/null &
彼らが実際に意味したとき
nohup gedit &> /dev/null &
後者は、stderrとstdoutの両方をに正しくリダイレクトし/dev/nullます。前者は、というファイルを作成する&か、他の場合と同じようにエラーを出す可能性が高いと予想していました。
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
代わりに、前者とまったく同じように機能するようで、geditウィンドウが表示され、エラーメッセージは出力されません。
また、これはシェル固有であることに注意する必要があります。
bash(4.2.45(1)-release)、zsh(5.0.2)、csh(deb package version:20110502-2)およびtcsh(6.18.01):上記のように機能し、エラーメッセージもファイルも作成されません。dash(0.5.7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd numberksh(93u + 2012-08-01):失敗しますが、ウィンドウは表示され1223ませんが、プロセスは明らかに開始されます()gedit:$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit numberfish(2.0.0):> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
それで、なぜこのコマンドは、一部のシェルではエラーなしで(および出力ファイルも作成されずに)単に実行され、他のシェルでは失敗するのですか?>&どうやら特別なケースで何をしていnohupますか?私はそれ>& /dev/nullが解釈されていると推測して>&/dev/nullいますが、なぜこれらのシェルでスペースがエラーを引き起こしていないのですか?
nohup command、私の記憶に実行する独立したttyあなたapplication.According dashの延長ash、Debian ash、ashによって開発されOpenBSD、それは限られたシェル、でもMaemoのOSダッシュを使用しています(N900モバイルは上のDebianベース)ですが、ash家族のシェルは、限られた使用がbashやtcshのを期待しています。
dashバージョンを印刷する方法がわかりませんが、パッケージはです0.5.7-3、あなたのものは何ですか?また、実行していることを確認しますdashか?それがUbuntuのデフォルトshですよね?
nohupません、私は何を知っていますか、私の質問は、なぜ>&いくつかのシェルでnohupだけで動作するようです。
dashます。