Saya mengedit jawaban pada Ask Ubuntu yang menyarankan yang berikut ini
nohup gedit >& /dev/null &
Padahal sebenarnya maksud mereka
nohup gedit &> /dev/null &
Yang terakhir benar mengarahkan kedua stderr dan stdout ke /dev/null. Saya mengharapkan yang pertama untuk membuat file bernama &atau, lebih mungkin, untuk memberikan kesalahan seperti halnya untuk kasus lain:
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
Alih-alih, tampaknya berfungsi dengan cara yang persis sama seperti yang pertama, sebuah geditjendela muncul dan tidak ada pesan kesalahan yang dicetak.
Saya juga harus mencatat bahwa ini khusus untuk shell:
bash(4.2.45 (1) -release),zsh(5.0.2),csh(versi paket deb: 20110502-2) dantcsh(6.18.01): berfungsi seperti dijelaskan di atas, tidak ada pesan kesalahan, tidak ada file yang dibuat.dash(0.5.7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd numberksh(93u + 2012-08-01): gagal, tetapi suatu proses tampaknya dimulai (1223) meskipun tidak adageditjendela yang muncul:$ 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 & ^
Jadi, mengapa perintah ini hanya berjalan tanpa kesalahan (dan tidak ada file output yang dibuat) di beberapa shell dan gagal di yang lain? Apa yang >&dilakukan dalam kasus khusus yang tampaknya nohup? Saya menduga itu >& /dev/nullditafsirkan sebagai >&/dev/nulltetapi mengapa ruang tidak menyebabkan kesalahan pada shell ini?
nohup command, Menjalankan tty independen application.According ke memori saya, dashdiperpanjang dari ash, Debian ash, ashyang dikembangkan oleh OpenBSDdan itu shell terbatas, bahkan maemo OS (Debian Berdasarkan n900 mobile) menggunakan dasbor, ashshell keluarga memiliki penggunaan yang terbatas diharapkan dari bash atau Tcsh.
dashuntuk mencetak versinya tetapi paketnya adalah 0.5.7-3, apa milik Anda? Juga, apakah Anda yakin sedang berlari dash? Itu standar Ubuntu shbukan?
nohup, pertanyaan saya adalah mengapa >&tampaknya bekerja dengan nohup sendirian di beberapa shell.
dash.