Melakukan Redirect input atau output dari command-command Linux
Fitur bash lain yang berguna adalah kemampuannya melakukan redirect input dan output dari command-command Linux. Anda dapat menyimpan hasil dari suatu command ke dalam file selain menampilkannya di layar, atau anda juga dapat meng-input data dari satu file ke dalam satu prorgam selain meng-input data tersebut dari keyboard.
Mari kita lihat proses redirection ini. Coba bayangkan satu command fiktif yang disebut
nocats yang meminta user memasukkan input berupa angka dan menunggu sejumlah baris teks sebanyak angka tersebut dimasukkan sebelum mulai memproses teks tersebut. (progarm
nocats ini akan melakukan pengecekan pada tiap input teks dan mencetak baris teks tersebut hanya jika tek tidak mengandung kata
cat)
Anda dapat memasukkan data ke program tersebut melalui console (pada contoh dibawah, teks yang di-
bold adalah input yang anda ketik, sementara teks normal adalah output pada console):
$
nocats
3
Dogs are much better than those other household animals.
A cat would never beg for jerky treats.
Dogs are pretty stupid, but at least they stick around.
Dogs are much better than those other household animals.
Dogs are pretty stupid, but at least they stick around.
Jika menggunakan editor teks, anda dapat meletakkan semua input data pada satu file yang disebut
stuff dan memasukkannya sebagai input dari program
nocats seperti ini:
%
nocats < stuff Dogs are much better than those other household animals.
Dogs are pretty stupid, but at least they stick around.
Simbol kurang-dari (<) memerintah program untuk tidak menunggu input dari keyboard melainkan mengambil input dari file
stuff.
Simbol lebih-dari (>) tidak akan menampilkan output ke console melainkan me-redirect output program ke file. karena itu command berikut ini:
%
nocats <> bother
akan memerintah program nocats untuk membaca input dari satu file (stuff) dan menuliskannya ke file yang lain (
bother), dan menghindarkan untuk memasukkan atau menampilkan data pada console. Yang penting dicatat disini adalah program
nocats tidak perlu mengetahui mengenai redirection ini. Program
nocats tetap menganggap input berasal dari keyboard dan output ke console, tapi shell yang mengerjakan semua ini dengan memasukkan input dan output secara temporer ke dalam file.
untuk memaskkan output ke dalam file yang sudah ada dengan tidak menghapus isi yang sudah ada dalam file dapat digunakan simbol dua buah tanda lebih-dari (>>), bisa dilihat dalam contoh berikut:
zippity > somefile
doodah >> somefile
command
zippity dijalankan pertama kali, output akan ditaruh pada file
somefile. Kemudian jalankan command
doodah, dan output dari command ini ditambahkan pada file
somefile
yang sudah ada dengan tidak menghapus isinya.
Catatan: penting untuk diingat bahwa melakukan
piping dengan tanda > tunggal akan menghapus isi dari output file jika file tersebut sudah ada sebelumnya.