Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3

Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3

Bash adalah antarmuka shell yang bervariasi dengan banyak opsi pemrograman, dan bahasa instruksional yang kaya. Sangat mudah untuk melewatkan fitur dan dinamika Bash, jadi seri ini memperkenalkan sejumlah tips, trik, contoh, dan gotcha dalam hal menggunakan Bash. Untuk dua artikel pertama dalam seri ini, silakan lihat artikel kami Tips dan trik Contoh Baris Bash Berguna Bagian 2 dan Tip dan Trik Contoh Baris Bas Bash yang Berguna Bagian 3.

Dalam seri tutorial ini Anda akan belajar:

  • Tips, trik, dan metode baris perintah bash yang bermanfaat
  • Cara berinteraksi dengan baris perintah bash secara canggih
  • Cara mempertajam keterampilan bash Anda secara keseluruhan dan menjadi pengguna bash yang lebih mahir
Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Linux-independen
Perangkat lunak Baris perintah bash, sistem berbasis Linux
Lainnya Utilitas apa pun yang tidak termasuk dalam shell bash secara default dapat diinstal menggunakan sudo apt-get install-name utilitas (atau instalasi yum untuk sistem berbasis redhat)
Konvensi # - mengharuskan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mengharuskan Linux-Commands untuk dieksekusi sebagai pengguna biasa

Contoh 1: Memeriksa dengan benar keberadaan file dan direktori

Kita dapat memeriksa keberadaan direktori dengan mudah dengan menggunakan -D (Apakah direktori dengan nama yang ditentukan ada) klausa dalam jika penyataan:

$ MyPathTocheckForExistence = "$ pwd" $ echo "$ mypathtocheckforeforexistence"/home/roel/iamhappy $ if [-d $ mypathtocheckforexistence]; lalu echo "ada!"; fi ada! 


Namun, sama mudahnya untuk membuat kesalahan yang sulit didebug di beberapa bidang bash. Misalnya, mari kita pertimbangkan (dan lihat apakah Anda dapat menemukan bug);

$ Mypathtocheckforexistance = "/doNotreLylyexist" $ if [-d $ mypathtocheckForExistence]; lalu echo "ada!"; fi ada! $ ls /doNotreLylyexist ls: tidak dapat mengakses ' /tidak tidak terekspresi': tidak ada file atau direktori seperti itu 

Mengapa jika Periksa sampai pada kesimpulan bahwa /tidak benar -benar ekskis Direktori memang ada? Bisakah Anda melihat bugnya?

Masalahnya di sini adalah bahwa ada kesalahan ketik pada nama variabel. Keberadaan vs ADANYA..

Mungkin sedikit nakal, tetapi dalam semua keseriusan ini juga harus sangat mudah untuk bertemu Gotcha:

$ if [-d]; lalu echo "ada!"; fi ada! 

Dan lebih penting;

$ Var1 = "; if [-d $ var1]; lalu echo" ada!"; fi ada! 

Dengan demikian, jika Anda lupa menginisialisasi variabel nama direktori yang kemudian Anda periksa, atau nama variabel salah eja, maka hasilnya adalah bahwa pesta bash jika pernyataan mengembalikan bahwa direktori ada! Tidak ada lagi yang disebutkan tentang pengecualian menarik ini dalam manual (REF Bash Man) yang hanya menjelaskannya -D adalah Benar jika ada file dan merupakan direktori..

Jadi bagaimana kita bisa memperbaikinya?

Contoh 2: Cara yang lebih baik untuk memeriksa keberadaan file dan direktori

Perbaikannya mudah; Kami dapat mengutip variabel kami dengan kutipan ganda ("), yang kemudian akan membuat jika tidak default untuk hasil yang selalu benar. Sebagai catatan tambahan yang menarik untuk pemikiran lebih lanjut, dan mungkin komentar Anda yang berpengetahuan luas di bawah ini dengan efek yang sama, orang harus bertanya-tanya mengapa itu diimplementasikan seperti ini dan apa implementasi yang mendasari selalu benar.

$ Var1 = "; if [-d" $ var1 "]; lalu echo" ada!"; fi $ 


Solusi yang sederhana dan elegan. Bukannya jika pernyataan sekarang sedang diuraikan sebagai jika [-d] yang, seperti yang telah kita lihat, selalu mengevaluasi benar, sekarang diuraikan (asalkan itu Var1 setidaknya kosong) if [-d ""] yang menghasilkan salah, dan dengan demikian Kemudian Klausa tidak dieksekusi.

Contoh 3: Pernah ingin mengekstrak isi a .file deb?

Terkadang sesuatu pecah pada suatu sistem, dan kami mungkin ingin mendapatkan satu file dari a .Deb kemasan. .Deb Paket (paket instalasi bergaya Debian, seperti juga digunakan oleh Ubuntu dan Mint) dapat dengan mudah ditemukan online, tetapi tidak selalu terbukti dengan sendirinya bagaimana mengekstrak file darinya. Untuk melakukannya, kita bisa:

ar x some_deb_file.Deb Tar -XF Data.ter.xz 

ar adalah alat untuk Buat, memodifikasi, dan mengekstrak dari arsip, sebagai manual (man ar) menjelaskan. Perintah ini akan menghasilkan file di dalam .Deb kemasan. Setiap .Deb file akan memiliki dua file arsip, yaitu kontrol.ter.xz Dan data.ter.xz (standar umum), dan - seperti yang dapat Anda lihat dari contoh - itu adalah data.ter.xz arsip yang perlu diperluas untuk melihat file di dalam .Deb kemasan.

Kesimpulan

Dalam artikel ini, kami mengeksplorasi cara untuk memeriksa dengan benar keberadaan file dan direktori dengan menggunakan kutipan yang tepat, dan kami mencontohkan bagaimana mudah membuat kesalahan di area ini. Selalu uji skrip Anda dan coba berbagai situasi dan skenario yang berbeda. Kami juga melihat bagaimana kami dapat mengekstraksi konten dari a .Deb file menggunakan ar Dan ter perintah. Seperti biasa, nikmati pengkodean bash dan tinggalkan kami komentar di bawah ini dengan temuan Anda!

  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
  • Contoh dan trik Contoh Tip Baris Bash Berguna - Bagian 5

Tutorial Linux Terkait:

  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Menguasai loop skrip bash
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
  • Loop bersarang dalam skrip bash
  • Ubuntu 20.04 Panduan
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux