Kirim tugas ke latar belakang dalam "jika"


10

Kenapa ini?

if true; then sleep 3 &; fi
bash: syntax error near unexpected token `;'

saya ingin berlari

sleep 3

di latar belakang sehingga perintah ["sleep 3" hanyalah sebuah contoh] akan berjalan dalam gaya "paralell", sehingga selesai lebih cepat. Tapi saya mendapatkan ini:

bash: syntax error near unexpected token `;'

pesan eror. Mengapa? Mengapa saya tidak bisa mengirim tugas ke latar belakang?


Menurut Anda, apa yang Anda uji dengan ifpernyataan itu?
glenn jackman

Jawaban:


6

Sepertinya Anda tidak perlu memisahkan perintah dalam kasus itu ( &pisahkan sendiri).

Sebagai contoh.

$> if true; then (sleep 3; echo ok) &  fi
[1] 14224
$> ok

8

Itu karena &sudah merupakan pemisah pernyataan, jadi Anda tidak harus meletakkan ;setelah ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.