Bir komut çalıştırılmadan önce, kabuk tarafından yorumlanacak özel bir
yazım şekli kullanılarak girdisi ve çıktısı yönlendirilebilir.
Yönlendirme, kabuğun çalıştırma ortamında kullanılmak üzere dosyaların
açılması ve kapatılması için de kullanılabilir. Aşağıdaki yönlendirme
işleçleri basit bir komutun öncesinde veya sonrasında ya da içinde
kullanılabilir. Yönlendirmeler yazıldıkları sırada yani soldan sağa
yorumlanır.
Aşağıdaki açıklamalarda, dosya tanıtıcı numara verilmemişse ve yönlendirme
işlecinin ilk karakteri < ise yönlendirme
standart girdiden (dosya tanım numarası 0), işleç >
ise standart çıktıya yapılır (dosya tanım numarası 1).
Yönlendirmelerin sırası önemlidir. Örneğin,
komutunda standart girdi (dosya tanıtıcı 1) ve standart hata (dosya
tanıtıcı 2) birlikte dizin.liste dosyasına
yönlendirilirken,
komutunda standart çıktı dizin.liste dosyasına
yönlendirilir, çünkü standart hata, dizin.liste
dosyasına yönlendirilmeden önce standart çıktıya kopyalanmıştır.
Bash aşağıda açıklandığı gibi çeşitli dosya isimlerini yönlendirmelerin
içinde özel olarak ele alır:
- /dev/fd/fd
fd bir tamsayı ise dosya tanıtıcı
fd kopyalanır.
- /dev/stdin
Dosya tanıtıcı 0 kopyalanır. (Standart girdi)
- /dev/stdout
Dosya tanıtıcı 1 kopyalanır. (Standart çıktı)
- /dev/stderr
Dosya tanıtıcı 2 kopyalanır. (Standart hata)
- /dev/tcp/konak/port
konak geçerli bir konak ismi ya da
Internet adresi ise ve port bir tamsayı
port numarası ya da servis ismi ise Bash, ilgili sokete bir TCP
bağlantısı açmaya çalışır.
- /dev/udp/konak/port
konak geçerli bir konak ismi ya da
Internet adresi ise ve port bir tamsayı
port numarası ya da servis ismi ise Bash, ilgili sokete bir UDP
bağlantısı açmaya çalışır.
Bir dosyanın açılması veya oluşturulması sırasında bir hata oluşursa,
yönlendirme gerçekleşmez.
9'dan büyük dosya tanıtıcıları kullanılarak yapılan yönlendirmelerde dosya tanıtıcıların kabuğun dahili olarak kullandıkları ile çakışabileceği dikkate alınmalıdır.