Cara Menyesuaikan Bash Shell Dengan shopt

Diterbitkan: 2022-01-29
Prompt terminal pada laptop Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Jika Anda menyempurnakan perilaku shell Bash Anda dengan shopt , Anda dapat mengontrol lebih dari 50 pengaturan. Kami akan menunjukkan cara menyesuaikan sistem Linux Anda seperti yang Anda suka.

Shopt Built-in

shopt built-in adalah bagian dari semua versi shell Bash, jadi tidak perlu menginstal apapun. Jumlah opsi yang tersedia di shopt terus meningkat selama bertahun-tahun. Jadi, semakin lama versi Bash yang Anda miliki, semakin pendek daftar opsi shopt .

Jika sesuatu tampaknya tidak berfungsi pada mesin Anda, periksa entri halaman man untuk Bash dan verifikasi bahwa opsi tersedia di versi shopt Anda.

Kami mencakup semua opsi shopt di bawah ini. Kami juga menjelaskan cara menggunakannya dan membagikan beberapa contoh. Dari sana, Anda dapat memeriksa halaman manual Bash atau Manual Referensi GNU Bash untuk melihat apakah salah satu dari opsi tersebut terdengar berguna atau menarik.

Beberapa opsi shopt diaktifkan secara default dan merupakan bagian dari perilaku default Bash. Anda dapat mengaktifkan opsi shopt sebagai perubahan jangka pendek ke Bash. Ini kemudian akan kembali ke perilaku default ketika Anda menutup shell.

Iklan

Namun, jika Anda ingin perilaku yang dimodifikasi tersedia setiap kali Anda meluncurkan shell Bash, Anda dapat membuat perubahan itu permanen.

Pilihan toko

Ada shopt pilihan toko. Jika Anda menggunakan perintah shopt tanpa opsi apa pun, ia mencantumkan ini. Jika kita menyalurkan output melalui perintah wc , itu akan menghitung baris, kata, dan karakter untuk kita. Karena setiap opsi shopt berada di jalurnya sendiri, jumlah baris adalah jumlah opsi.

Kami mengetik berikut ini:

 toko | toilet 

Untuk melihat semua opsi, kita bisa menyalurkan output melalui perintah column untuk menampilkan nama opsi di kolom, atau kita bisa menyalurkannya ke less .

Kami mengetik berikut ini:

 toko | kolom 

Menemukan shopt di Manual Linux

Bagian yang membahas shopt dan opsinya ada di bagian Bash dari manual Linux. Bagian Bash panjangnya lebih dari 6.000 baris. Anda dapat menemukan deskripsi shopt dengan banyak scrolling, atau Anda dapat mencarinya di dalam manual.

Untuk melakukannya, buka manual di bagian Bash:

 pria bash 

Iklan

Dalam manual, tekan / untuk memulai pencarian. Ketik yang berikut ini, lalu tekan Enter:

 assoc_expand_once 

Awal dari bagian opsi shopt akan muncul di jendela man .

TERKAIT: Cara Menggunakan Perintah man Linux: Rahasia dan Dasar Tersembunyi

Opsi Pengaturan dan Penghapusan Pengaturan

Untuk mengatur dan menghapus opsi shopt , gunakan perintah berikut:

  • -s : Mengatur, atau mengaktifkan.
  • -u : Tidak disetel, atau dinonaktifkan.

Karena beberapa opsi diaktifkan secara default, memeriksa opsi mana yang aktif juga berguna. Anda dapat melakukannya dengan opsi -s dan -u tanpa menggunakan nama opsi. Ini menyebabkan shopt mencantumkan opsi yang aktif dan nonaktif.

Ketik berikut ini:

 shopt -s 

 shopt -u | kolom 

Anda dapat menggunakan opsi shopt tanpa perintah -s atau -u untuk melihat status aktif atau nonaktif untuk setiap opsi.

Misalnya, kita dapat mengetik berikut ini untuk memeriksa pengaturan opsi histverify :

 belanja histverifikasi

Kita dapat mengetik yang berikut ini untuk mengaktifkannya:

 shopt -s histverify
Iklan

Kemudian, kita dapat mengetik yang berikut untuk memeriksanya lagi:

 belanja histverifikasi 

Opsi histverify mengubah cara satu aspek dari perintah history beroperasi. Biasanya, jika Anda meminta history untuk mengulang perintah dengan merujuknya dengan nomor, seperti !245 , perintah tersebut diambil dari riwayat perintah dan segera dieksekusi.

Jika Anda lebih suka meninjau perintah untuk memastikan itu yang Anda harapkan dan mengeditnya, jika perlu, ketik berikut ini untuk menyetel opsi shopt histverify ke aktif:

 !245 

Perintah diambil dan disajikan pada baris perintah. Anda dapat menghapus, mengedit, atau menjalankannya dengan menekan Enter.

TERKAIT: Cara Menggunakan Perintah history di Linux

Opsi autocd

Dengan mengaktifkan opsi autocd , jika Anda mengetik nama direktori pada baris perintah dan menekan Enter, itu akan diperlakukan seolah-olah Anda telah mengetik cd di depannya.

Kami mengetik yang berikut untuk mengaktifkan opsi autocd :

 shopt -s autocd

Kemudian, kita ketik nama direktori:

 Dokumen 

Opsi cdspell

Ketika opsi cdspell diaktifkan, Bash akan secara otomatis memperbaiki kesalahan ejaan sederhana dan kesalahan ketik dalam nama direktori.

Kami mengetik berikut ini untuk mengatur opsi cdspell :

 shopt -s cdspell
Iklan

Untuk mencoba mengubah ke direktori dalam huruf kecil yang seharusnya memiliki huruf awal huruf besar, kami mengetik yang berikut ini:

 dokumen cd

Kemudian, kita dapat mengetik berikut ini untuk mencoba nama direktori dengan tambahan “t” di namanya:

 cd ../Gambar 

Bash berubah ke setiap direktori, terlepas dari kesalahan ejaan.

Opsi xpg_echo

Ketika opsi xpg_echo diaktifkan, perintah echo akan mematuhi karakter yang lolos, seperti \n untuk baris baru dan \t untuk tab horizontal.

Pertama, kami mengetik yang berikut untuk memastikan opsi disetel:

 shopt -s xpg_echo
Iklan

Kami kemudian memasukkan \n dalam string yang akan kami berikan ke echo :

 echo "Ini adalah baris satu\nIni adalah baris kedua" 

Karakter baris baru yang lolos memaksa jeda baris dalam output.

Ini menghasilkan perilaku yang sama dengan opsi echo -e (aktifkan interpretasi pelarian), tetapi xpg_echo memungkinkannya menjadi tindakan default.

TERKAIT: Cara Menggunakan Perintah Echo di Linux

Opsi dotglob

Opsi dotglob harus diperlakukan dengan sedikit hati-hati. Ini memungkinkan file dan direktori yang dimulai dengan titik ( . ) untuk dimasukkan dalam perluasan nama atau "globbing." Ini disebut "file titik" atau "direktori titik" dan biasanya disembunyikan. Opsi dotglob mengabaikan titik di awal namanya.

Pertama, kita akan melakukan pencarian file atau direktori yang diakhiri dengan “geek” dengan mengetikkan perintah berikut:

 ls *geek

Satu file ditemukan dan terdaftar. Kemudian, kita akan mengaktifkan opsi dotglob dengan mengetikkan yang berikut ini:

 shopt -s dotglob
Iklan

Kami mengeluarkan perintah ls yang sama untuk mencari file dan direktori yang diakhiri dengan "geek":

 ls *geek 

Kali ini dua file ditemukan dan terdaftar, salah satunya adalah file titik. Anda harus berhati-hati dengan rm dan mv saat Anda mengaktifkan opsi dotglob .

Opsi nocaseglob

Opsi nocaseglob mirip dengan opsi dotglob , kecuali nocaseglob menyebabkan perbedaan huruf besar dan kecil dalam nama file dan direktori diabaikan dalam perluasan nama.

Kami mengetik berikut ini untuk mencari file atau direktori yang dimulai dengan "bagaimana":

 bagaimana *

Satu file ditemukan dan terdaftar. Kami mengetik yang berikut untuk mengaktifkan opsi nocaseglob :

 shopt -s nocaseglob

Kemudian, kita ulangi perintah ls :

 bagaimana * 

Ditemukan dua file, salah satunya berisi huruf besar.

Membuat Perubahan Permanen

Perubahan yang kami buat hanya akan bertahan sampai kami menutup shell Bash saat ini. Untuk menjadikannya permanen di seluruh sesi shell yang berbeda, kita perlu menambahkannya ke file “.bashrc” kita.

Iklan

Di direktori home Anda, ketik perintah berikut untuk membuka file “.bashrc” di editor teks Gedit grafis (atau ubah sesuai dengan editor yang Anda inginkan):

 gedit .bashrc

Editor gedit akan terbuka dengan file ".bashrc" yang dimuat. Anda akan melihat beberapa entri shopt sudah ada di dalamnya.

Editor gedit dengan .bashrc dimuat di dalamnya, dan opsi shopt disorot.

Anda juga dapat menambahkan opsi shopt Anda sendiri di sini. Setelah Anda menambahkannya, simpan perubahan Anda dan tutup editor. Sekarang, setiap kali Anda membuka shell Bash baru, opsi Anda akan ditetapkan untuk Anda.

Pilihan Sejauh Mata Dapat Melihat

Memang benar perintah shopt memiliki banyak pilihan, tetapi Anda tidak harus mengatasi semuanya sekaligus, jika pernah. Karena ada begitu banyak, kemungkinan ada beberapa yang tidak menarik bagi Anda.

Misalnya, ada banyak yang memaksa Bash untuk beroperasi dengan cara yang kompatibel dengan versi spesifik yang lebih lama. Itu mungkin berguna bagi seseorang, tetapi ini adalah kasus yang cukup khusus.

Iklan

Anda dapat meninjau halaman manual Bash atau Manual Referensi Bash GNU. Putuskan opsi mana yang akan membuat perbedaan bagi Anda, lalu bereksperimenlah dengannya. Berhati-hatilah dengan opsi yang memengaruhi cara nama file dan direktori diperluas. Cobalah dengan perintah yang ramah, seperti ls , sampai Anda merasa nyaman dengannya.