GNU/Linux >> Belajar Linux >  >> Linux

Cara Memformat Program Shell Menggunakan Shfmt Di Linux

Dalam panduan ini, kita akan membahas apa itu Shfmt, cara menginstal Shfmt di Linux, dan terakhir cara memformat program shell menggunakan Shfmt di Linux.

1. Pendahuluan

Jika Anda berasal dari latar belakang pemrograman, Anda mungkin mengetahui istilah-istilah seperti pemformatan, linting, dll.

Ada alat pendukung penting yang disertakan dengan setiap editor kode untuk mempermudah hidup kita saat kita membuat kode.

Demikian pula, untuk skrip shell, kami memiliki shfmt . shfmt digunakan untuk memformat, mengurai, dan menginterpretasikan skrip shell Anda. Shfmt mendukung shell Bash, mksh, dan Posix.

Shfmt sangat dapat dikonfigurasi dan dapat memformat kode Anda dalam beberapa mode dan konvensi.

Anda dapat menginstal dan menggunakan alat Shfmt dari baris perintah untuk bekerja dengan skrip shell Anda. Juga ada plugin yang tersedia di editor teks populer yang akan menggunakan shfmt untuk memformat skrip shell Anda.

2. Instal Shfmt di Linux

Shfmt tersedia sebagai aplikasi snap. Jika distribusi Anda telah menginstal snap, Anda dapat menginstal shfmt menggunakan perintah:

$ sudo snap install shfmt

Cara lain untuk menginstal Shfmt adalah dengan menggunakan perintah satu baris berikut:

$ curl -sS https://webinstall.dev/shfmt | bash

Dua metode di atas dapat digunakan terlepas dari distribusi apa yang Anda jalankan. Ada beberapa distribusi tempat Anda dapat menginstal shfmt dari repositori paketnya.

Untuk Menginstal shfmt di Alpine Linux, jalankan:

$ sudo apk add shfmt

Instal shfmt di Arch Linux, EndeavourOS dan Manjaro Linux:

$ sudo pacman -S shfmt

Instal shfmt di FreeBSD.

$ sudo pkg install devel/shfmt
$ sudo pkg install shfmt

3. Memformat program shell menggunakan Shfmt di Linux

Jika ini pertama kalinya Anda menggunakan Shfmt, mulailah dengan menjalankan help perintah untuk mendapatkan gambaran tentang opsi yang didukung shfmt:

$ shfmt --help

Sekarang, izinkan saya menunjukkan sebuah contoh. Saya telah membuat skrip shell tanpa format yang tepat.

Perhatikan gambar di atas. Ini terlihat aneh, bukan?

Mari kita format skrip ini menggunakan shfmt seperti di bawah ini:

$ shfmt dummy.sh

Shfmt akan mulai memformat skrip yang diberikan.

Berikut adalah output dari script di atas sebelum dan sesudah optimasi:

Dari output di atas, Anda dapat melihat skrip kami diformat dengan baik.

Anda mungkin bertanya-tanya mengapa lekukan disetel ke tab . Ini adalah default dan dapat dimodifikasi.

3.1. Indentasi Kustom

Saya selalu mengikuti dokumen gaya skrip Google Shell dan atur indentasi ke 2 spasi bukannya tab.

Untuk mengatur lekukan khusus gunakan -i bendera. Mari kita lihat apa yang dikatakan menu bantuan tentang -i ini bendera:

Nilai apa pun yang lebih besar dari nol diteruskan dengan -i bendera adalah jumlah spasi yang akan digunakan untuk bermaksud.

$ shfmt -i 2 scriptname.sh

3.2. Keluaran gaya berbeda

Jika Anda memerlukan informasi tentang apa yang sebenarnya telah diformat, Anda dapat menggunakan -d bendera. Perhatikan gambar di bawah ini, ini menunjukkan apa yang diformat dalam warna hijau dengan + simbol.

3.3. Daftar skrip yang akan diformat

Anda dapat menggunakan -l flag yang akan mendapatkan daftar skrip yang perlu diformat.

Untuk mendemonstrasikan ini, saya akan membuat tiga file skrip. Saya membiarkan skrip kedua dan ketiga tidak diformat. Dan saya telah memberikan banyak ruang di echo pernyataan file ke-2 dan ke-3.

Sekarang jika saya menjalankan perintah shfmt dengan -l flag, itu harus memilih file sampel 2 dan 3 kedua saya saja:

$ shfmt -l sample*.sh
sample2.sh
sample3.sh

3.4. Tulis output ke file

Secara default, Shfmt menulis output dari skrip yang diformat ke stdout, yang merupakan terminal. Jika Anda ingin menulis output ke file, Anda dapat menggunakan -w bendera.

$ shfmt -w scriptname.sh

3.5. Temukan skrip shell di jalur

Dengan -f flag, shfmt akan memindai direktori yang diberikan secara rekursif dan akan menemukan semua skrip shell.

Tidak masalah apakah skrip memiliki ekstensi .sh atau tidak. Shfmt dapat mengenali semua skrip shell meskipun tidak memiliki ekstensi.

$ shfmt -f /home/ostechnix
/home/ostechnix/.config/envman/load.sh
/home/ostechnix/.local/bin/webi
/home/ostechnix/Downloads/sampleshell
/home/ostechnix/dummy.sh

3.6. Shfmt juga bisa mendeteksi kesalahan

Shfmt tidak hanya untuk memformat skrip shell. Itu juga dapat menemukan kesalahan dalam skrip juga.

Lihatlah gambar di bawah ini, di mana kurung kurawal saya untuk menghentikan fungsi tersebut hilang dan shfmt menemukannya.

Anda juga dapat menggunakan fitur pemeriksaan sintaks bawaan bash dengan menggunakan -n bendera yang akan memvalidasi kode Anda dan
daftar semua kesalahan.

$ bash -vn scriptname.sh

3.7. Shfmt di editor eksternal

Secara real-time, Anda dapat menggunakan salah satu editor teks pilihan Anda seperti Vim, Atom, Sublime Text, kode Vs, dll. Beberapa editor teks ini mungkin memiliki dukungan asli untuk memformat skrip bash.

Setiap editor kode memiliki plugin yang terintegrasi dengan shfmt. Buka repositori resmi GitHub (tautan diberikan di akhir) dan di bagian bawah halaman, Anda akan melihat daftar plugin untuk setiap editor teks yang menggunakan shfmt di bawahnya.

Kesimpulan

Dalam panduan ini, kita telah melihat apa itu Shfmt dan bagaimana memformat program Shell menggunakan Smfmt dengan contoh praktis. Shfmt akan menjadi alat yang sangat berguna untuk menjaga skrip Anda tetap bersih, rapi, dan teratur. Integrasikan dengan editor teks dan Anda akan memiliki alur kerja yang sangat lancar dalam membuat skrip.


Linux
  1. Bagaimana cara menginstal layanan SSH ( secure shell ) di Kali Linux

  2. Cara men-debug program C di Linux menggunakan gdb

  3. Cara Menginstal FFmpeg Di Linux

  1. Cara menginstal Python di Linux

  2. Cara menginstal Java di Linux

  3. Bagaimana cara menginstal Fish Shell di AWS Linux

  1. Cara menginstal Linux dalam 3 langkah

  2. Bagaimana cara menginstal Kali Linux

  3. Cara Menginstal NodeJS Di Linux