Cara menggunakan perintah ujian Linux yang berkuasa dalam skrip Bash
Arahan ujian Linux ialah arahan Shell terbina dalam, digunakan untuk menyemak sama ada keadaan tertentu adalah benar. ujian sering digunakan dengan pernyataan if, dan kebanyakan pernyataan if bergantung pada ujian. Ia boleh membandingkan satu elemen dengan yang lain, tetapi lebih biasa digunakan dalam skrip shell BASH sebagai sebahagian daripada pernyataan bersyarat yang mengawal logik dan aliran program.
Arahan ujian mempunyai banyak pilihan dan boleh mengesan nilai, rentetan dan fail.

Contoh asas
Cuba arahan ini dalam tetingkap terminal.
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ test 1 -eq 2 && echo "yes" || echo "no" no linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ test 1 -eq 1 && echo "yes" || echo "no" yes
Arahan di atas dipecahkan seperti berikut:
-
- ujian: perintah untuk melakukan perbandingan
- 1: Elemen pertama yang anda ingin bandingkan. Dalam contoh ini, ini ialah nombor 1, tetapi ia boleh menjadi sebarang nombor atau rentetan dalam petikan.
- – eq: Kaedah perbandingan. Dalam kes ini, anda sedang menguji sama ada satu nilai adalah sama dengan nilai yang lain.
- 2: Anda ingin membandingkan unsur unsur pertama. Dalam contoh ini, ini ialah nombor 2.
- **&&**: Pintasan Linux untuk merantai perintah bersama-sama dalam urutan. Output rantai ujian dihantar ke arahan seterusnya. Ampersand berganda dilaksanakan apabila status keluar arahan sebelumnya ialah 0, yang merupakan cara mewah untuk menunjukkan bahawa arahan itu tidak gagal.
- gema “ya”: Perintah untuk dijalankan apabila perbandingan berjaya. Dalam kes ini, apa yang kita lakukan ialah meminta perintah echo untuk mencetak perkataan "ya" kepada output standard, tetapi anda boleh menjalankan sebarang arahan di sini yang akan dilaksanakan jika ujian ternyata benar.
- || : Dalam satu cara, bertentangan dengan &&; Paip berganda hanya akan dilaksanakan jika arahan sebelum ia gagal (status keluar bukan 0).
- **echo "no"**: Perintah untuk dijalankan apabila perbandingan tidak sepadan.
Petua: Apabila dijalankan daripada gesaan shell, test* tidak mengembalikan nilai kepada output standard, ia hanya mengembalikan kod status keluar. Itulah sebabnya anda perlu merantai arahan gema. *

Pada asasnya sama, arahan ini membandingkan 1 dengan 2, jika ia sepadan, laksanakan pernyataan gema "ya" dan paparkan "ya", jika ia tidak sepadan, laksanakan pernyataan gema "tidak" dan paparkan "tidak" .
Bandingkan nombor
Jika anda ingin membandingkan elemen yang menyelesaikan kepada nombor, anda boleh menggunakan operator perbandingan berikut:
- -eq: Nilai 1 bersamaan dengan nilai 2
- -ge : nilai 1 lebih besar daripada atau sama dengan nilai 2
- -gt : nilai 1 lebih besar daripada nilai 2
- -le : nilai 1 kurang daripada atau sama dengan nilai 2
- -lt : nilai 1 kurang daripada nilai 2
- -ne : nilai 1 tidak sama dengan nilai 2
Contoh ujian
test 1 -eq 2 && echo "yes" || echo "no"
(memaparkan "tidak" pada skrin kerana 1 tidak sama dengan 2)
test 1 -ge 2 && echo "yes" || echo "no"
(memaparkan "tidak" pada skrin kerana 1 tidak lebih besar daripada atau sama dengan 2)
test 1 -gt 2 && echo "yes" || echo "no"
(memaparkan "tidak" pada skrin kerana 1 tidak lebih daripada 2)

(Menunjukkan "ya" pada skrin kerana 1 kurang daripada atau sama dengan 2)
test 1 -le 2 && echo "yes" || echo "no"
(Menunjukkan "ya" pada skrin kerana 1 kurang daripada atau sama dengan 2)
test 1 -ne 2 && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为 1 不等于 2)

比较文本
比较解析为字符串的元素时,请使用以下比较运算符:
- **=**:字符串 1 匹配字符串 2
- != : 字符串 1 与字符串 2 不匹配
- -n:字符串长度大于0
- -z:字符串长度等于 0
例子
test "string1" = "string2" && echo "yes" || echo "no"
(在屏幕上显示“no”,因为“string1”不等于“string2”)
test "string1" != "string2" && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为“string1”不等于“string2”)
test -n "string1" && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为“string1”的字符串长度大于零)
test -z "string1" && echo "yes" || echo "no"
(在屏幕上显示“no”,因为“string1”的字符串长度大于零)

比较文件
比较文件时,请使用以下比较运算符:
- -ef:文件具有相同的设备和 inode 编号(它们是同一个文件)
- -nt : 第一个文件比第二个文件新
- -ot:第一个文件比第二个文件旧
- -b:文件存在并且是块特殊的
- -c:文件存在并且是字符特殊的
- -d:文件存在并且是目录
- -e : 文件存在
- -f : 文件存在并且是普通文件
- -g:文件存在并具有指定的组号
- -G : 文件存在且属于用户组
- -h或**-L**:文件存在并且是符号链接
- -k:文件存在并且设置了粘性位
- -O : 文件存在你是所有者
- -p:文件存在并且是命名管道
- -r:文件存在且可读
- -s:文件存在且大小大于零
- -S : 文件存在并且是一个socket
- -t :在终端上打开文件描述符
- -u:文件存在并且设置了 set-user-id 位
- -w:文件存在且可写
- -x:文件存在且可执行
例子
⚡ test linuxmi -nt linux && echo "yes"

(如果 linuxmi 比 linux 新,则显示“yes”字样,如上图
⚡ test -e /home/linuxmi/linuxmi && echo "yes"

(如果 linuxmi 存在,将显示“yes”)
test -O /home/linuxmi/linuxmi && echo "yes"

(如果您拥有 file1,则显示“yes”字样”)
块特殊:文件是块设备,这意味着数据以字节块的形式读取。这些通常是设备文件,例如硬盘驱动器。
特殊字符:文件在您写入时立即执行,通常是串行端口等设备
比较多个条件
到目前为止,一切都在将一件事与另一件事进行比较,但是如果您想比较两个条件怎么办?
例如,如果一只动物有四条腿并且会发出“哞哞”的声音,它可能是一头奶牛。简单地检查四只腿并不能保证你有一头牛,但检查它发出的声音肯定可以。
要同时测试这两个条件,请使用以下语句:
test 4 -eq 4 -a "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"
这里的关键部分是-a标志,它代表and。
有一种更好和更常用的方法来执行相同的测试,如下所示:
test 4 -eq 4 && test "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"
test 命令的分支很重要。如果第一个测试 (4 = 4) 失败,则 *test* 命令以非零退出代码终止。因此,我们跳转到双管道符号并且“it is not a cow”打印到标准输出。但是,如果第一个测试成功并因此 test 导致退出代码0,那么我们跳转到第一个双与号(&&)。下一条语句是另一个测试条件!
如果第二次 test 失败,我们再次跳到双管并从那里继续。然而,如果第二个 test 成功,我们跳转到第二个双& 语句,在这个例子中,它只是将“it is a cow”回显到标准输出,然后终止返回到 shell 提示符。
另一个测试比较两个语句,如果其中一个为真,则输出一个字符串。例如,要检查是否存在名为“linuxmi.txt”的文件或名为“linuxmi.py”的文件,可以使用以下命令:
这里的关键部分是**-o**代表or。
test -e linuxmi.txt -o -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"
有一种更好和更常用的方法来执行相同的测试,如下所示:
test -e linuxmi.txt || test -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"
排除 test 关键字
您实际上不需要使用单词test来执行比较。您所要做的就是将语句括在方括号中,如下所示:
⚡ [ -e linux.py ] && echo "linux.py exists" || echo "file1 does not exist"linux.py exists
[and**]基本上与****test含义 相同。**

现在您知道这一点,您可以改进比较多个条件,如下所示:
[ 4 -eq 4 ] && [ "moo" = "moo" ] && echo "it is a cow" || echo "it is not a cow" [ -e linuxmi.py ] || [ -e linuxmi.txt ] && echo "linuxmi exists" || echo "linuxmi does not exist"

总结
test 命令在脚本中更有用,因为您可以对照另一个变量测试一个变量的值并控制程序流程。在命令行上,使用它来测试文件是否存在。
Atas ialah kandungan terperinci Cara menggunakan perintah ujian Linux yang berkuasa dalam skrip Bash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Model keselamatan Linux dan Windows masing -masing mempunyai kelebihan mereka sendiri. Linux menyediakan fleksibiliti dan kebolehpercayaan, membolehkan keselamatan melalui kebenaran pengguna, keizinan sistem fail, dan selinux/apparmor. Windows memberi tumpuan kepada keramahan pengguna dan bergantung kepada WindowsDefender, UAC, Firewall dan Bitlocker untuk memastikan keselamatan.

Linux dan Windows berbeza dalam keserasian perkakasan: Windows mempunyai sokongan pemacu yang luas, dan Linux bergantung kepada komuniti dan vendor. Untuk menyelesaikan masalah keserasian Linux, anda boleh menyusun pemandu secara manual, seperti pengklonan RTL8188EU Repositori pemandu, menyusun dan memasang; Pengguna Windows perlu menguruskan pemandu untuk mengoptimumkan prestasi.

Perbezaan utama antara Linux dan Windows dalam sokongan virtualisasi adalah: 1) Linux menyediakan KVM dan XEN, dengan prestasi dan fleksibiliti yang luar biasa, sesuai untuk persekitaran penyesuaian yang tinggi; 2) Windows menyokong virtualisasi melalui Hyper-V, dengan antara muka yang mesra, dan disepadukan dengan ekosistem Microsoft, sesuai untuk perusahaan yang bergantung pada perisian Microsoft.

Tugas utama pentadbir sistem Linux termasuk pemantauan sistem dan penalaan prestasi, pengurusan pengguna, pengurusan pakej perisian, pengurusan keselamatan dan sandaran, penyelesaian masalah dan resolusi, pengoptimuman prestasi dan amalan terbaik. 1. Gunakan alat atas, HTOP dan lain -lain untuk memantau prestasi sistem dan menyesuaikannya. 2. Menguruskan akaun pengguna dan keizinan melalui arahan USERADD dan arahan lain. 3. Gunakan APT dan YUM untuk menguruskan pakej perisian untuk memastikan kemas kini sistem dan keselamatan. 4. Konfigurasi firewall, memantau log, dan lakukan sandaran data untuk memastikan keselamatan sistem. 5. menyelesaikan masalah dan menyelesaikan melalui analisis log dan penggunaan alat. 6. Mengoptimumkan parameter kernel dan konfigurasi aplikasi, dan ikuti amalan terbaik untuk meningkatkan prestasi sistem dan kestabilan.

Pembelajaran Linux tidak sukar. 1.Linux adalah sistem operasi sumber terbuka berdasarkan UNIX dan digunakan secara meluas dalam pelayan, sistem tertanam dan komputer peribadi. 2. Memahami sistem fail dan pengurusan kebenaran adalah kunci. Sistem fail adalah hierarki, dan keizinan termasuk membaca, menulis dan melaksanakan. 3. Sistem pengurusan pakej seperti APT dan DNF menjadikan pengurusan perisian mudah. 4. Pengurusan proses dilaksanakan melalui PS dan arahan teratas. 5. Mula belajar dari arahan asas seperti MKDIR, CD, Touch dan Nano, dan kemudian cuba penggunaan lanjutan seperti skrip shell dan pemprosesan teks. 6. Kesilapan umum seperti masalah kebenaran dapat diselesaikan melalui sudo dan chmod. 7. Cadangan Pengoptimuman Prestasi termasuk menggunakan HTOP untuk memantau sumber, membersihkan fail yang tidak perlu, dan menggunakan SY

Purata gaji tahunan pentadbir Linux ialah $ 75,000 hingga $ 95,000 di Amerika Syarikat dan € 40,000 hingga € 60,000 di Eropah. Untuk meningkatkan gaji, anda boleh: 1. Secara berterusan mempelajari teknologi baru, seperti pengkomputeran awan dan teknologi kontena; 2. Mengumpulkan pengalaman projek dan menubuhkan portfolio; 3. Mewujudkan rangkaian profesional dan mengembangkan rangkaian anda.

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

Internet tidak bergantung pada sistem operasi tunggal, tetapi Linux memainkan peranan penting di dalamnya. Linux digunakan secara meluas dalam pelayan dan peranti rangkaian dan popular untuk kestabilan, keselamatan dan skalabiliti.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
