Perintah ujian boleh digunakan pada baris arahan Linux untuk membandingkan satu elemen dengan yang lain, tetapi ia lebih sering digunakan dalam skrip shell BASH sebagai sebahagian daripada kenyataan bersyarat yang mengendalikan logik dan aliran program.
Contoh Asas
Anda boleh mencuba arahan ini dengan membuka tetingkap terminal.
ujian 1 -eq 2 && echo "ya" || echo "no"
Perintah di atas boleh dipecahkan seperti berikut: Pada dasarnya, arahan itu membandingkan 1 hingga 2 dan jika mereka sepadan, pernyataan "yes" echo dilaksanakan yang memaparkan "ya" dan jika mereka tidak sepadan, pernyataan echo "no" dilaksanakan yang memaparkan "tidak." Jika anda membandingkan unsur-unsur yang menghurai sebagai nombor, anda boleh menggunakan pengendali perbandingan yang berikut: Contoh ujian 1 -eq 2 && echo "ya" || echo "no"
(memaparkan "tidak" ke skrin kerana 1 tidak sama 2) ujian 1 -ge 2 && echo "ya" || echo "no"
(memaparkan "tidak" ke skrin kerana 1 tidak lebih besar atau sama dengan 2) ujian 1 -gt 2 && echo "ya" || echo "no"
(memaparkan "tidak" ke skrin kerana 1 tidak lebih besar daripada 2) ujian 1 -le 2 && echo "ya" || echo "no"
(memaparkan "ya" ke skrin kerana 1 kurang daripada atau sama dengan 2) ujian 1 -lt 2 && echo "ya" || echo "no"
(memaparkan "ya" ke skrin kerana 1 kurang daripada atau sama dengan 2) ujian 1 -ne 2 && echo "ya" || echo "no"
(memaparkan "ya" ke skrin kerana 1 tidak sama 2) Jika anda membandingkan unsur-unsur yang menghurai sebagai rentetan, anda boleh menggunakan pengendali perbandingan yang berikut: Contoh test "string1" = "string2" && echo "yes" || echo "no"
(memaparkan "tidak" ke skrin kerana "string1" tidak sama dengan "string2") test "string1"! = "string2" && echo "yes" || echo "no"
(memaparkan "ya" ke skrin kerana "string1" tidak sama dengan "string2") test -n "string1" && echo "yes" || echo "no"
(memaparkan "ya" ke skrin kerana "string1" mempunyai panjang rentetan yang lebih besar daripada sifar) test -z "string1" && echo "yes" || echo "no"
(memaparkan "tidak" ke skrin kerana "string1" mempunyai panjang rentetan yang lebih besar daripada sifar) Jika anda membandingkan fail, anda boleh menggunakan pengendali perbandingan berikut: Contoh test / path / to / file1 -nt / path / to / file2 && echo "yes"
(Jika file1 lebih baru daripada file2 maka perkataan "ya" akan dipaparkan) test -e / path / to / file1 && echo "yes"
(jika fail1 ada perkataan "ya" akan dipaparkan) test -O / path / to / file1 && echo "yes"
(jika anda memiliki file1 maka perkataan "ya" dipaparkan ") Terminologi Setakat ini, semuanya telah membandingkan satu perkara dengan yang lain, tetapi bagaimana jika anda ingin membandingkan dua syarat? Contohnya, jika seekor haiwan mempunyai 4 kaki dan pergi "moo," ia mungkin seekor lembu. Hanya memeriksa 4 kaki tidak menjamin bahawa anda mempunyai seekor lembu, tetapi memeriksa bunyi itu pasti dibuat. Untuk menguji kedua-dua syarat sekaligus gunakan pernyataan berikut: test 4 -eq 4 -a "moo" = "moo" && echo "it is a cow" || echo "itu bukan lembu"
Bahagian utama di sini ialah -a yang dimaksudkan dan . Terdapat cara yang lebih baik dan lebih biasa digunakan untuk melakukan ujian yang sama dan itu adalah seperti berikut: test 4 -eq 4 && test "moo" = "moo" && echo "it is a cow" || echo "itu bukan lembu"
Ujian lain yang mungkin anda ingin buat ialah membandingkan dua kenyataan dan jika ada benar, keluarkan rentetan. Sebagai contoh, jika anda ingin memeriksa bahawa fail bernama "file1.txt" wujud atau fail yang bernama "file1.doc" wujud, anda boleh menggunakan perintah berikut: test -e file1.txt -o -e file1.doc && echo "file1 exists" || echo "file1 tidak wujud"
Bahagian utama di sini ialah -o yang bermaksud atau . Terdapat cara yang lebih baik dan lebih biasa digunakan untuk melakukan ujian yang sama dan itu adalah seperti berikut: test -e file1.txt || test -e file1.doc && echo "file1 exists" || echo "file1 tidak wujud" Anda sebenarnya tidak perlu menggunakan ujian perkataan untuk melakukan perbandingan. Apa yang perlu anda lakukan ialah menyertakan penyataan dalam kurungan persegi seperti berikut: -e file1.txt && echo "file1 exists" || echo "file1 tidak wujud"
Dan pada asasnya sama dengan ujian. Sekarang anda tahu ini anda boleh memperbaiki membandingkan beberapa keadaan seperti berikut: 4-eq 4 && "moo" = "moo" && echo "ia adalah seekor lembu" || echo "itu bukan lembu"-e file1.txt || -e file1.doc && echo "file1 exists" || echo "file1 tidak wujud" Perintah ujian lebih berguna dalam skrip kerana anda dapat menguji nilai satu pemboleh ubah terhadap yang lain dan mengendalikan aliran program. Pada baris perintah standard, anda boleh menggunakannya untuk menguji sama ada fail ada atau tidak.
Membandingkan Nombor
Membandingkan Teks
Membandingkan Fail
Membandingkan Syarat Pelbagai
Menghapus Kata Kunci Ujian
Ringkasan