Bir boruhattı, | karakteri ile
ayrılmış basit komutlar dizisidir.
Bir boruhattının sözdizimi:
[time [-p]] [!] komut1 [| komut2 ...]
Bir boruhattındaki her komut bir kanal ile sonrakine bağlıdır.
Böylece her komut bir önceki komutun çıktısını okur.
time anahtar sözcüğü, boruhattındaki iş sonuçlandıkça
istatistiklerin basılmasını sağlar. İstatistikler geçen zaman, kullanıcı
ve komutun çalıştırılması sırasında kullanılan sistem zamanından oluşur.
-p seçeneği POSIX çıktı biçemini değiştirmekte
kullanılır.
TIMEFORMAT
değişkeninde belirtilen biçemleme dizgesi ile zamanlama bilgilerinin gösterim biçimi ayarlanabilir. Bu biçemler hakkında bilgi
Bash Değişkenleri bölümünde
bulunabilir.
time anahtar sözcüğü ile kabuk yerleşikleri,
kabuk işlevleri ve boruhatlarının zamanlama bilgileri alınabilir.
Harici bir
time komutu ile bu işlem bu kadar kolay olamıyor.
Bir boruhattı eşzamanlamasız (
Komut Listeleri
bölümüne bakınız) çalıştırılmadığında kabuk, boruhattındaki tüm komutların
işlerini bitirmesini bekleyecektir.
Bir boruhattındaki her komut kendi altkabuğunda (
Komut Çalıştırma Ortamı bölümüne bakınız) çalıştırılır.
Bir boruhattının çıkış durumu
pipefail seçeneği etkin olmadıkça son komutun çıkış durumudur (
set Yerleşiği bölümüne bakınız).
pipefail etkinse, borutattının dönüş durumu sıfırdan farklı bir değerle çıkan son (en sağdaki) komutun değeridir, değilse ve tüm komutlar başarı ile sonlanmışsa dönüş durumu sıfırdır. Bir boruhattı anahtar sözcüklerden biri olan
! karakteri ile
başlıyorsa, çıkış durumu, açıklanan çıkış durumunun mantıksal tersidir. Kabuk bir değer döndürmeden önce boruhattındaki tüm komutlar sonlanıncaya kadar bekler.