Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3

Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3

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
Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
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