Yanıtlar:
BTW, asıl mesele (Bourne türevi) mermilerin boş komutlara izin vermemesidir.
";" ve "&", sırasıyla fg ve bg anlamına gelen komut sonlandırıcılardır. Yani "; ;" (veya satırın başındaki ";") de geçersizdir.
(Satır devam etmek için "\" kullanmadığınız sürece henüz sonlandırılmamış bir komut varsa, yeni satırlar ";" anlamına gelir.)
Diller, bu politikalarda çok değişiklik gösterir:
C'den türetilmiş diller boş ifadelere izin verir.
Pascal ve PERL'de sonlandırıcılar değil ayırıcılar vardır.
Hayır, sadece kafası karıştı ve ne demek istediğini anlayamıyor.
Arka planı koymak istediğiniz & komutunu gruplandırmanız gerekir:
$ (evince foo.pdf bar.pdf &); emacs foo.tex &
Güzel çalışıyor. Daha da açık olan:
$ (evince foo.pdf bar.pdf &); (emacs foo.tex &)
Özellikle de sondan sonra daha fazla komut zincirlemek istediyseniz.
if [ $(ps -ef |grep -c '[p]grep') -eq 0 ]; then nohup sleep 5 > /dev/null 2>&1</dev/null & fi