Linux dialog komutuna aktarılan programın durum kodunun nasıl alınacağı


3

dialogUbuntu'ya basit bir kurulum programı hazırlamak için Linux kullanmaya çalışıyorum . Gerçek komut şudur:

  dpkg -i package.deb 2>&1 | dialog --programbox "Installing..." 10 100

Komut dialogtarafından üretilen herhangi bir çıktının dpkgnormal çıktı veya hata mesajı olup olmadığını görüntülemek istiyorum , bu yüzden stderr'i stdout'a yönlendiririm. Bu çalışıyor.

Sorun şu ki, dpkgher iki komut da sona erdikten sonra komutun durum koduna ihtiyacım var . Sadece dpkgişini yapıp yapmadığını bilmek . Ne yazık ki, bu komutlar bittikten sonra sadece dialogkomutun durum kodunu alabilirim ...

dpkgKomutun durum kodunun nasıl alınacağını bilen var mı?

Yanıtlar:


3

Ne aramak olduğunu pipestatus :

dpkg -i ... | dialog ...
echo ${PIPESTATUS[0]} # this contains the exit code of the dpkg command.

Bu örneğe bakın:

$ false | true | false | true
$ echo ${PIPESTATUS[@]}
1 0 1 0

Bu tam olarak aradığım şeydi! Teşekkür ederim!
WRz
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.