Pipe (|) operator

pipe(|) operator digunakan untuk menjalankan dua atau lebih perintah terkait sekaligus. Input dari perintah berikutnya akan menjadi output dari perintah sebelumnya. Jadi, keberhasilan setiap perintah tergantung pada keberhasilan perintah sebelumnya tanpa perintah pertama. Pada perintah berikut, perintah pertama,ls akan mengetahui daftar file dan folder dari lokasi saat ini dan mengirim output sebagai input untuk perintah kedua, wc. Ini akan mencetak jumlah baris, kata, dan karakter berdasarkan data input.

$ ls -l | wc -lwc

Titik koma (;) Operator

Operator titik koma (;) digunakan untuk menjalankan dua atau lebih perintah yang tidak terkait sekaligus. Ini berarti bahwa output dari setiap perintah tidak tergantung pada perintah lain. Dalam contoh berikut, tiga jenis perintah digabungkan bersama dan kegagalan setiap perintah tidak akan berdampak pada output perintah lain. Perintah pertama akan mencetak isi file, perintah kedua akan membuat direktori dan perintah ketiga akan mengubah direktori saat ini.

$ cat myfile.txt ; mkdir newdir ; cd Desktop

Logical AND (&&) operator

Perintah-perintah yang dijalankan oleh Logical AND (&&) copyg berhubungan seperti perintah pipe (|). Jadi, jika perintah sebelumnya tidak berhasil dijalankan maka perintah selanjutnya tidak akan berfungsi. Pada contoh berikut, dua perintah, mkdir, dan rmdir digabungkan oleh operator &&. Jadi, jika perintah mkdir gagal dijalankan dengan sukses maka perintah rmdir tidak akan dijalankan. Menurut output dari perintah ls, direktori myDir sudah ada di lokasi saat ini. Jadi perintah pertama tidak akan dijalankan dan untuk perintah kedua ini juga tidak akan dijalankan.

$ ls
$ mkdir myDir && rmdir temp
$ ls

Logical OR (||) operator

Operator logika OR (||) adalah kebalikan dari operator logika AND (&&). Perintah berikutnya akan dijalankan jika perintah sebelumnya gagal dijalankan. Tiga perintah cat digabungkan dengan operator OR (||) dalam contoh berikut. Ketika Anda akan menjalankan perintah, pertama-tama, ia akan mencoba menampilkan konten file cat.txt. Jika tidak ada file seperti itu di lokasi saat ini, maka ia akan mencoba menjalankan perintah berikutnya. Menurut output, file bird.txt ada di lokasi saat ini dan konten file ini ditampilkan.

$ cat cat.txt || cat dog.txt || cat bird.txt

Multiple commands with multiple operators

Anda dapat menggunakan beberapa operator untuk menjalankan beberapa perintah sekaligus. Dalam contoh berikut, tiga perintah digabungkan dengan operator OR (||) dan AND (&&). Setelah menjalankan perintah, pertama-tama, itu akan mengubah direktori saat ini menjadi direktori baru jika direktori tersebut ada. Jika perintah ini gagal maka akan membuat direktori dengan menjalankan perintah kedua dan mencetak pesan, “direktori dibuat.” Menurut output, direktori newdir tidak ada di lokasi saat ini. Jadi, pesan error ditampilkan dan direktori dibuat nanti.

$ cd newdir || mkdir newdir && echo "directory is created"

Combination operator {}

Dua atau lebih perintah dapat digabungkan menggunakan operator ini dan jika eksekusi perintah pertama gagal maka perintah kedua tidak akan dijalankan. Dalam contoh berikut, OR, AND dan operator kombinasi digunakan bersama-sama. Perintah pertama akan memeriksa direktori temp ada di lokasi saat ini atau tidak. Jika perintah pertama gagal maka itu akan membuat direktori temp dan mencetak pesan. Perintah terakhir akan menampilkan daftar direktori saat ini.

$ [ -d temp ] || { mkdir temp; echo temp directory is created now.;  } && ls

Precedence operator ()

Anda dapat menggunakan operator ini untuk mengelompokkan perintah pada saat eksekusi. Di sini, setiap kelompok akan bekerja sebagai satu tugas. Dalam contoh berikut, dua grup perintah didefinisikan dan jika grup pertama gagal dijalankan, grup kedua akan dieksekusi.

$ (cd temp && ls -a) || (mkdir temp && ls)

Kesimpulan

Tutorial ini menjelaskan operator yang paling banyak digunakan untuk menjalankan banyak perintah di Linux. Tetapi ada banyak operator lain yang ada di bash yang digunakan untuk menjalankan dua atau lebih perintah secara bersamaan. Ini adalah ampersand (&), redirection (<,>,>>), Logical NOT (!), Combination ({}), dll.

Related Posts