Cara Menyesuaikan Bash Shell Dengan shopt
Diterbitkan: 2022-01-29 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.
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
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
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
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
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
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.
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.
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.
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.