Shopt ile Bash Shell Nasıl Özelleştirilir

Shopt ile Bash kabuğunuzun davranışına ince ayar yaparsanız, 50’den fazla ayarı kontrol edebilirsiniz. Size Linux sisteminizi tam istediğiniz gibi nasıl düzenleyeceğinizi göstereceğiz.

Shopt Yerleşik

Shopt yerleşik, tüm sürümlerinin bir parçasıdır. Kabuk kabuğu, yani herhangi bir şey yüklemeye gerek yok. Shopt’ta bulunan seçeneklerin sayısı yıllar içinde istikrarlı bir şekilde arttı. Bu nedenle, sahip olduğunuz Bash sürümü ne kadar eskiyse, shopt seçeneklerinin listesi o kadar kısa olacaktır.

Makinenizde bir şey çalışmıyor gibi görünüyorsa, Bash için man sayfası girişini kontrol edin ve bu seçeneğin shopt sürümünüzde mevcut olduğunu doğrulayın.

Aşağıdaki tüm shopt seçeneklerini ele alıyoruz. Ayrıca nasıl kullanılacağını açıklıyoruz ve bazı örnekler paylaşıyoruz. Oradan Bash man sayfasını kontrol edebilir veya GNU Bash Başvuru Kılavuzu Bu seçeneklerden herhangi birinin kullanışlı veya çekici gelip gelmediğini görmek için.

Bazı shopt seçenekleri varsayılan olarak etkindir ve Bash’in varsayılan davranışının bir parçasını oluşturur. Bash’te kısa vadeli bir değişiklik olarak bir shopt seçeneğini etkinleştirebilirsiniz. Ardından, kabuğu kapattığınızda varsayılan davranışa geri dönecektir.

Ancak, bir Bash kabuğunu her başlattığınızda değiştirilen bir davranışın kullanılabilir olmasını istiyorsanız, değişiklikleri kalıcı hale getirebilirsiniz.

Alışveriş Seçenekleri

53 alışveriş seçeneği var. shopt komutunu herhangi bir seçenek olmadan kullanırsanız, bunları listeler. Çıktıyı wc komutuyla aktarırsak, satırları, kelimeleri ve karakterleri sayın bizim için. Her shopt seçeneği kendi satırında olduğu için satır sayısı seçeneklerin sayısıdır.

Aşağıdakileri yazıyoruz:

shopt | wc

Tüm seçenekleri görmek için çıktıyı sütun komutuyla aktarabiliriz. seçenek adlarını sütunlarda görüntülemek için, ya da daha azına aktarabiliriz.

  Google Yazı Tiplerini Kolayca Doğru Şekilde Eşleştirme

Aşağıdakileri yazıyoruz:

shopt | column

Linux Kılavuzunda shopt bulma

Shopt ve seçeneklerini tartışan bölüm, Linux kılavuzunun Bash bölümündedir. Bash bölümü 6.000 satırın üzerindedir. Çok fazla kaydırma ile shopt açıklamasını bulabilir veya sadece kılavuz içinde arayabilirsiniz.

Bunu yapmak için, kılavuzu Bash bölümünde açın:

man bash

Kılavuzda, bir arama başlatmak için / düğmesine basın. Aşağıdakini yazın ve ardından Enter tuşuna basın:

assoc_expand_once

Shoptoption bölümünün başlangıcı, adam penceresinde görünecektir.

Seçenekleri Ayarlama ve Ayarı Kaldırma

Shopt seçeneklerini ayarlamak ve ayarlarını kaldırmak için aşağıdaki komutları kullanın:

-s: Ayarlayın veya etkinleştirin.
-u: Ayarlamayı kaldırın veya devre dışı bırakın.

Bazı seçenekler varsayılan olarak etkinleştirildiğinden, hangi seçeneklerin açık olduğunu kontrol etmek de kullanışlıdır. Bir seçenek adı kullanmadan -s ve -u seçenekleriyle bunu yapabilirsiniz. Bu, shopt’un açık ve kapalı olan seçenekleri listelemesine neden olur.

Aşağıdakileri yazın:

shopt -s

shopt -u | column

Her seçeneğin açık veya kapalı durumunu görmek için -s veya -u komutları olmadan bir shopt seçeneğini kullanabilirsiniz.

Örneğin, histverify seçeneğinin ayarını kontrol etmek için aşağıdakini yazabiliriz:

shopt histverify

Açık olarak ayarlamak için aşağıdakini yazabiliriz:

shopt -s histverify

Ardından, tekrar kontrol etmek için aşağıdakini yazabiliriz:

shopt histverify

Histverify seçeneği, geçmiş komutunun bir yönünün çalışma şeklini değiştirir. Genellikle, geçmişten bir komutu numaraya göre referans vererek tekrar etmesini isterseniz, örneğin !245, komut komut geçmişinden alınır ve hemen yürütülür.

Beklediğiniz olduğundan emin olmak için bir komutu gözden geçirmeyi ve gerekirse düzenlemeyi tercih ederseniz, shopt histverify seçeneğini açık olarak ayarlamak için aşağıdakini yazın:

!245

Komut alınır ve komut satırında sunulur. Enter tuşuna basarak silebilir, düzenleyebilir veya yürütebilirsiniz.

autocd Seçeneği

autocd seçeneği açık olarak ayarlandığında, komut satırına bir dizinin adını yazıp Enter’a basarsanız, önüne cd yazmışsınız gibi işlem görecektir.

  Mac'te Bildirim Merkezi Nasıl Görüntülenir

autocd seçeneğini açmak için şunu yazıyoruz:

shopt -s autocd

Ardından, bir dizinin adını yazıyoruz:

Documents

cdspell Seçeneği

cdspell seçeneği açıldığında Bash, dizin adlarındaki basit yazım hatalarını ve yazım hatalarını otomatik olarak düzeltir.

cdspell seçeneğini ayarlamak için aşağıdakileri yazıyoruz:

shopt -s cdspell

Baş harfi büyük olması gereken küçük harfli bir dizine geçmeyi denemek için aşağıdakini yazıyoruz:

cd documents

Ardından, adında fazladan bir “t” olan bir dizin adını denemek için aşağıdakini yazabiliriz:

cd ../Picttures

Bash, yazım hatalarından bağımsız olarak her dizine değişir.

xpg_echo Seçeneği

xpg_echo seçeneği açık olarak ayarlandığında, yankı komutu, yeni satır için n ve yatay sekme için t gibi kaçan karakterlere uyacaktır.

İlk olarak, seçeneğin ayarlandığından emin olmak için aşağıdakini yazıyoruz:

shopt -s xpg_echo

Daha sonra, yankıya ileteceğimiz bir dizgeye n’yi ekleriz:

echo "This is line onenThis is line two"

Kaçan yeni satır karakteri, çıktıda bir satır kesmeye zorlar.

Bu, -e ( ile aynı davranışı üretir.kaçış yorumunu etkinleştir) yankı seçeneği, ancak xpg_echo varsayılan eylem olmasına izin verir.

dotglob Seçeneği

Dotglob seçeneği biraz dikkatli kullanılmalıdır. Nokta (.) ile başlayan dosya ve dizinlerin ad genişletmelerine veya “globbing”e dahil edilmesini sağlar. Bunlara “nokta dosyaları” veya “nokta dizinleri” denir ve genellikle gizlidirler. Dotglob seçeneği, adlarının başındaki noktayı yok sayar.

İlk olarak, aşağıdakini yazarak “geek” ile biten dosya veya dizinleri arayacağız:

ls *geek

Bir dosya bulunur ve listelenir. Ardından, aşağıdakileri yazarak dotglob seçeneğini açacağız:

shopt -s dotglob

“Geek” ile biten dosya ve dizinleri aramak için aynı ls komutunu veriyoruz:

ls *geek

Bu sefer biri nokta dosyası olan iki dosya bulunur ve listelenir. Dotglob seçeneğini açık olarak ayarladığınızda rm ve mv ile dikkatli olmanız gerekir.

  Lingua.ly Size İngilizce, Fransızca, İspanyolca, Arapça ve İbranice öğretir

nocaseglob Seçeneği

nocaseglob seçeneği, dotglob seçeneğine benzer, ancak nocaseglob, dosya adlarındaki büyük ve küçük harf farklılıklarının ve dizinlerin ad genişletmelerinde yok sayılmasına neden olur.

“Nasıl” ile başlayan dosya veya dizinleri aramak için aşağıdakileri yazıyoruz:

ls how*

Bir dosya bulunur ve listelenir. Nocaseglob seçeneğini açmak için aşağıdakileri yazıyoruz:

shopt -s nocaseglob

Ardından ls komutunu tekrarlıyoruz:

ls how*

Biri büyük harfler içeren iki dosya bulunur.

Değişiklikleri Kalıcı Yapma

Yaptığımız değişiklikler yalnızca mevcut Bash kabuğunu kapatana kadar sürecek. Bunları farklı kabuk oturumlarında kalıcı hale getirmek için onları “.bashrc” dosyamıza eklememiz gerekiyor.

Ana dizininizde, “.bashrc” dosyasını grafiksel Gedit metin düzenleyicide açmak için aşağıdaki komutu yazın (veya tercih ettiğiniz düzenleyiciyi kullanmak için uygun şekilde değiştirin):

gedit .bashrc

gedit düzenleyicisi “.bashrc” dosyası yüklenmiş olarak açılacaktır. Bazı shopt girişlerinin zaten içinde olduğunu göreceksiniz.

Burada kendi shopt seçeneklerinizi de ekleyebilirsiniz. Bunları eklediğinizde, değişikliklerinizi kaydedin ve düzenleyiciyi kapatın. Artık ne zaman yeni bir Bash kabuğu açsanız, seçenekleriniz sizin için belirlenecek.

Gözün Görebildiği Kadar Seçenekler

shopt komutunun pek çok seçeneği olduğu doğrudur, ancak bunların hepsini bir kerede ele almak zorunda değilsiniz. Çok fazla olduğu için, muhtemelen ilginizi çekmeyecek bazıları vardır.

Örneğin, Bash’i belirli, eski sürümlerle uyumlu şekillerde çalışmaya zorlayan bir grup var. Bu birileri için faydalı olabilir, ancak oldukça niş bir durum.

Bash’i inceleyebilirsiniz adam sayfası veya GNU Bash Başvuru Kılavuzu. Hangi seçeneklerin sizin için fark yaratacağına karar verin ve ardından bunları deneyin. Dosya ve dizin adlarının genişletilme şeklini etkileyen seçeneklere dikkat edin. Onlarla rahat olana kadar onları ls gibi iyi huylu bir komutla deneyin.