Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3
- 4205
- 1133
- Jerome Quitzon
Bash adalah antara muka shell yang bervariasi dengan banyak pilihan pengaturcaraan, dan bahasa pengajaran yang kaya. Sangat mudah untuk Miss Bash Ciri dan Dinamik, jadi siri ini memperkenalkan beberapa petua, helah, contoh dan gotchas ketika menggunakan Bash. Untuk dua artikel pertama dalam siri ini, sila lihat artikel kami Tips dan Contoh Tip dan Trik Contoh Bash Bash kami Bahagian 2 dan Contoh Tip dan Trik Bash Bash Berguna Bahagian 3.
Dalam siri tutorial ini, anda akan belajar:
- Petua, cara dan kaedah baris perintah bash berguna
- Cara berinteraksi dengan baris perintah bash dengan cara yang lebih maju
- Cara Mengasah Kemahiran Bash Anda secara keseluruhan dan menjadi pengguna bash yang lebih mahir
Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Pengedaran linux-bebas |
Perisian | Baris perintah bash, sistem berasaskan linux |
Yang lain | Sebarang utiliti yang tidak termasuk dalam shell bash secara lalai boleh dipasang menggunakan sudo apt-get memasang nama utiliti (atau pemasangan yum untuk sistem berasaskan redhat) |
Konvensyen | # - memerlukan komando linux untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$-Memerlukan komando linux untuk dilaksanakan sebagai pengguna yang tidak istimewa |
Contoh 1: Memeriksa dengan betul kewujudan fail dan direktori
Kita boleh menyemak kehadiran direktori dengan mudah dengan menggunakan -d
(Adakah direktori dengan nama yang dinyatakan ada) klausa dalam jika
Penyata:
$ MyPathToCheckForExistence = "$ pwd" $ echo "$ myPathTocheckforexistence"/home/roel/iamhappy $ if [-d $ mypathtocheckforexistence]; kemudian echo "wujud!"; fi ada!
Walau bagaimanapun, ia sama-sama mudah untuk membuat kesilapan yang sukar dibuang di beberapa kawasan bash. Sebagai contoh, mari kita pertimbangkan (dan lihat jika anda dapat mencari pepijat);
$ MyPathToCheckForExistance = "/DoSnotRealLyExist" $ if [-d $ myPathTocheckForexistence]; kemudian echo "wujud!"; fi ada! $ ls /Donotreallyexist ls: tidak dapat mengakses ' /tidak tidak
Mengapa jika
semak datang ke kesimpulan bahawa /DOSNOTREALLYEXIST
Direktori wujud? Bolehkah anda melihat pepijat?
Masalahnya di sini ialah terdapat kesilapan kesilapan dalam nama pembolehubah. Kewujudan
vs Kewujudan
…
Mungkin agak nakal, tetapi dalam segala kesungguhan ini juga sangat mudah untuk dijalankan ke Gotcha:
$ jika [-d]; kemudian echo "wujud!"; fi ada!
Dan lebih ketara;
$ Var1 = "; jika [-d $ var1]; kemudian echo" wujud!"; fi ada!
Oleh itu, jika anda terlupa akan memulakan pemboleh ubah nama direktori yang anda kemudian periksa, atau nama pembolehubah salah eja, maka hasilnya adalah bahawa bash jika
penyata mengembalikan bahawa direktori wujud! Tidak ada lagi sebutan mengenai pengecualian menarik ini dalam manual (ref lelaki bash
) yang hanya menjelaskan bahawa -d
adalah Benar jika fail wujud dan direktori..
Jadi bagaimana kita dapat memperbaikinya?
Contoh 2: Cara yang lebih baik untuk memeriksa kewujudan fail dan direktori
Pembaikan adalah mudah; Kita boleh memetik pemboleh ubah kita dengan sebut harga berganda ("
), yang kemudiannya akan menjadikannya jika
tidak lalai kepada hasil yang selalu benar. Sebagai nota sampingan yang menarik untuk pemikiran selanjutnya, dan mungkin komen anda yang berpengetahuan di bawah dengan kesan yang sama, seseorang harus tertanya-tanya mengapa ia dilaksanakan seperti ini dan apa yang dilaksanakan secara asasnya.
$ Var1 = "; if [-d" $ var1 "]; kemudian echo" wujud!"; fi $
Penyelesaian yang sederhana dan elegan. Bukannya jika
pernyataan sekarang dihuraikan sebagai jika [-d]
yang, seperti yang telah kita lihat, selalu menilai benar, sekarang ia dihuraikan sebagai (dengan syarat bahawa Var1
sekurang -kurangnya kosong) jika [-d ""]
yang mengakibatkan palsu, dan dengan itu kemudian
Fasal tidak dilaksanakan.
Contoh 3: Pernah mahu mengekstrak kandungan a .fail deb?
Kadang kala sesuatu pecah pada sistem, dan kami mungkin ingin mendapatkan satu fail dari a .Deb
pakej. .Deb
Pakej (pakej pemasangan gaya Debian, seperti yang digunakan oleh Ubuntu dan Mint) boleh didapati dalam talian, tetapi tidak selalu jelas tentang cara mengekstrak fail daripadanya. Untuk berbuat demikian, kita boleh:
ar x some_deb_file.data deb tar -xf.tar.xz
ar
adalah alat untuk Buat, Ubahsuai, dan Ekstrak dari Arkib, sebagai manual (lelaki ar
) menerangkan. Perintah ini akan menghasilkan fail di dalam .Deb
pakej. Masing -masing .Deb
fail akan mempunyai dua fail arkib, iaitu kawalan.tar.xz
dan data.tar.xz
(standard biasa), dan - seperti yang anda lihat dari contoh - ia adalah data.tar.xz
arkib yang perlu diperluas untuk melihat fail di dalamnya .Deb
pakej.
Kesimpulan
Dalam artikel ini, kami meneroka cara untuk memeriksa kewujudan fail dan direktori dengan betul dengan menggunakan petikan yang betul, dan kami mencontohkan bagaimana mudah membuat kesilapan di kawasan ini. Sentiasa menguji skrip anda dan cuba pelbagai situasi dan senario yang berbeza. Kami juga melihat bagaimana kami dapat mengekstrak kandungan dari a .Deb
fail menggunakan ar
dan tar
Perintah. Seperti biasa, nikmati pengekodan bash dan tinggalkan komen kami di bawah dengan penemuan anda!
- Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 5
Tutorial Linux Berkaitan:
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Menguasai Gelung Skrip Bash
- Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4
- Perkara yang hendak dipasang di Ubuntu 20.04
- Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
- Gelung bersarang dalam skrip bash
- Ubuntu 20.04 Panduan
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- « Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
- Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4 »