Sıfır olmayan bir durum koduyla çıkmak için `` daha az '' mı?


10

Aşağıdaki komut yapısına sahip olmak istiyorum:

command && check-status | less && followup-command

Bu, kullanıcı etkileşimde bulunduğu sırada yürütmeyi duraklatacaktır less. Kullanıcı , çalışmasını lessönlemek için sıfır olmayan bir durumdan çıkmaya nasıl zorlayabilir followup-command?

Şu anda kullanıyorum less 458 (POSIX regular expressions)

Yanıtlar:


14

Basit durumda, lessSIGINT'i işlememeyi isteyebilir , daha sonra Control-Conu öldürecek ve çıkış kodu sıfırdan farklı olacaktır. Bunu seçenekle yapın -K.

command && check-status | less -K && followup-command

Daha eski sürümler için geçici bir çözüm olarak,

command && bash -c 'trap "exit 1" int;check-status | less -K;' && followup-command

Eğer yoksa -K, atlayın, ancak sinyal vermeniz ve sonra da quit yazmanız gerekir.


less -Kyine de ctrl-c'de benim için 0 çıkış kodu döndürüyor. mac üzerinde v418 ve linux üzerinde v436. less -K test; echo $? => 0
Matt

Bu üzücü. benim için bir v458 ve v481'de sorun değil.Açık olan adam sayfası çıkış-K diyor (durum 2 ile) . Seninki mi?
16'da meuh

adam sadece diyor Causes less to exit immediately> greenwoodsoftware.com/less/news.443.html
Matt

Daha yaşlılar için bir çözüm ekledim.
meuh

2
Zaten bitmemişse ^Ciradenin de öldüreceğini unutmayın check-status.
Stéphane Chazelas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.