Boru maskaralıklarında bu videoyu izledikten sonra aşağıdaki komutu denedim .
man -k . | dmenu -l 20 | awk '{print $1}' | xargs -r man -Tpdf | zathura -
Temel olarak kullanıcının bunlardan birini seçmesi için dmenu'ya bir sayfa listesi yazdırır, daha sonra çalıştırmak için xargs kullanır man -Tpdf %
(xargs girişinden manpage git'in bir pdf'sini yazdırmak için yazdırır) ve pdf'yi bir pdf okuyucuya (zathura'ya iletir) ).
Sorun (videoda gördüğünüz gibi) pdf okuyucu dmenu bir manpage seçmeden önce başlar olmasıdır. Ve Esc'i tıklayıp hiçbirini seçmezsem, pdf okuyucu hala belge göstermeyecek şekilde açıktır.
Pdf okuyucuyu (ve bir boru zincirindeki herhangi bir komutu) yalnızca girdisi bir dosya sonuna ulaştığında veya bir girdi aldığında nasıl çalıştırabilirim? Veya alternatif olarak, zincirleme komutlardan biri sıfırdan farklı bir çıkış durumu döndürdükten sonra nasıl bir boru zinciri durdurabilirim (böylece dmenu bir seçenek seçmemek için bir hata döndürürse, aşağıdaki komutlar çalıştırılmaz)?
pipefail
bash'ın Kusalandanda'nın cevabında belirtilen seçeneği nedeniyle hangi mermiyi sordum.