masalah nohup ketika diberi perintah dengan argumen


2

Mencoba:

while true; do date; sleep 1; done

Punya:

Thu Aug 27 17:33:24 IDT 2009
Thu Aug 27 17:33:25 IDT 2009
Thu Aug 27 17:33:26 IDT 2009
...

Tapi:

nohup while true; do date; sleep 1; done

Dapatkan saya:

bash: syntax error near unexpected token `do'

Ada ide mengapa?

Jawaban:


4

Jika Anda BENAR-BENAR ingin melakukan semuanya di baris perintah tanpa membuat skrip, lakukan ini:

nohup bash -c "while true; do date; sleep 1; done"

2

nohup mengambil perintah, "sementara" bukan perintah, itu adalah shell bawaan.


1

sedangkan sebenarnya adalah perintah yang dibangun ke dalam bash, bukan executable yang terpisah, jadi nohup tidak dapat menjalankannya. Jika Anda ingin melakukan ini, Anda harus memasukkan perintah ke dalam file dan kemudian menggunakan nohup untuk menjalankan file itu.

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.