Perintah tes dapat digunakan pada baris perintah Linux untuk membandingkan satu elemen dengan yang lain, tetapi ini lebih umum digunakan dalam skrip shell BASH sebagai bagian dari pernyataan kondisional yang mengontrol logika dan aliran program.
Contoh Dasar
Anda dapat mencoba perintah ini hanya dengan membuka jendela terminal.
uji 1 -eq 2 && echo "ya" || gema "tidak"
Perintah di atas dapat diuraikan sebagai berikut: Intinya, perintahnya adalah membandingkan 1 hingga 2 dan jika mereka cocok, pernyataan echo "ya" dieksekusi yang menampilkan "ya" dan jika tidak cocok, pernyataan "tidak" gema dijalankan yang menampilkan "tidak". Jika Anda membandingkan elemen yang menguraikan sebagai angka, Anda dapat menggunakan operator perbandingan berikut: Contoh uji 1 -eq 2 && echo "ya" || gema "tidak"
(menampilkan "tidak" ke layar karena 1 tidak sama dengan 2) uji 1 -ge 2 && echo "ya" || gema "tidak"
(menampilkan "tidak" ke layar karena 1 tidak lebih besar atau sama dengan 2) uji 1-gt 2 && echo "ya" || gema "tidak"
(menampilkan "tidak" ke layar karena 1 tidak lebih besar dari 2) uji 1 -le 2 && echo "ya" || gema "tidak"
(menampilkan "ya" ke layar karena 1 kurang dari atau sama dengan 2) uji 1 -lt 2 && echo "ya" || gema "tidak"
(menampilkan "ya" ke layar karena 1 kurang dari atau sama dengan 2) uji 1 -ne 2 && echo "ya" || gema "tidak"
(menampilkan "ya" ke layar karena 1 tidak sama dengan 2) Jika Anda membandingkan elemen yang mengurai string, Anda dapat menggunakan operator perbandingan berikut: Contoh uji "string1" = "string2" && echo "ya" || gema "tidak"
(menampilkan "tidak" ke layar karena "string1" tidak sama dengan "string2") uji "string1"! = "string2" && echo "ya" || gema "tidak"
(menampilkan "ya" ke layar karena "string1" tidak sama dengan "string2") uji-n "string1" && echo "ya" || gema "tidak"
(menampilkan "ya" ke layar karena "string1" memiliki panjang string lebih besar dari nol) uji -z "string1" && echo "ya" || gema "tidak"
(menampilkan "tidak" ke layar karena "string1" memiliki panjang string lebih besar dari nol) Jika Anda membandingkan file, Anda dapat menggunakan operator perbandingan berikut: Contoh test / path / to / file1 -nt / path / ke / file2 && echo "ya"
(Jika file1 lebih baru dari file2 maka kata "ya" akan ditampilkan) uji -e / path / ke / file1 && echo "ya"
(jika file1 ada kata "ya" akan ditampilkan) uji -O / path / ke / file1 && echo "ya"
(jika Anda memiliki file1 maka kata "ya" ditampilkan ") Terminologi Sejauh ini, semuanya telah membandingkan satu hal dengan yang lain, tetapi bagaimana jika Anda ingin membandingkan dua kondisi? Sebagai contoh, jika seekor binatang memiliki 4 kaki dan pergi "moo," itu mungkin seekor sapi. Cukup memeriksa 4 kaki tidak menjamin bahwa Anda memiliki sapi, tetapi memeriksa suara itu pasti membuatnya. Untuk menguji kedua kondisi sekaligus gunakan pernyataan berikut: uji 4 -eq 4 -a "moo" = "moo" && echo "itu sapi" || echo "itu bukan sapi"
Bagian kunci di sini adalah -a yang berarti dan . Ada cara yang lebih baik dan lebih umum digunakan untuk melakukan tes yang sama dan itu adalah sebagai berikut: test 4 -eq 4 && test "moo" = "moo" && echo "itu sapi" || echo "itu bukan sapi"
Tes lain yang mungkin ingin Anda lakukan adalah membandingkan dua pernyataan dan jika salah satunya benar, lepaskan string. Misalnya, jika Anda ingin memeriksa bahwa file bernama "file1.txt" ada atau file bernama "file1.doc" ada, Anda dapat menggunakan perintah berikut: test -e file1.txt -o -e file1.doc && echo "file1 exist" || echo "file1 tidak ada"
Bagian kunci di sini adalah -o yang berarti atau . Ada cara yang lebih baik dan lebih umum digunakan untuk melakukan tes yang sama dan itu adalah sebagai berikut: uji -e file1.txt || test -e file1.doc && echo "file1 exist" || echo "file1 tidak ada" Anda sebenarnya tidak perlu menggunakan tes kata untuk melakukan perbandingan. Yang harus Anda lakukan adalah melampirkan pernyataan dalam tanda kurung siku sebagai berikut: -e file1.txt && echo "file1 ada" || echo "file1 tidak ada"
Dan pada dasarnya berarti sama dengan tes. Sekarang Anda tahu ini Anda dapat meningkatkan membandingkan beberapa kondisi sebagai berikut: 4 -eq 4 && "moo" = "moo" && echo "itu sapi" || echo "itu bukan sapi"-e file1.txt || -e file1.doc && echo "file1 ada" || echo "file1 tidak ada" Perintah tes lebih berguna dalam skrip karena Anda dapat menguji nilai satu variabel terhadap yang lain dan mengontrol aliran program. Pada baris perintah standar, Anda dapat menggunakannya untuk menguji apakah file ada atau tidak.
Membandingkan Angka
Membandingkan Teks
Membandingkan File
Membandingkan Beberapa Kondisi
Menghilangkan Kata Kunci Uji
Ringkasan