Bash betiği nedir?

What Is Bash Script



Hiç babanın sana bir bardak su al dediğini duydun mu? Hayır deme seçeneğiniz var, ancak bilgisayarların bu seçeneği yok. Bilgisayarlar tam olarak onlara yapmalarını söyleyeceğiniz şeyi yapacaklardır. Bash, bilgisayarla iletişim kurmanıza ve ona talimat vermenize izin veren bir kabuktur. Bir komut dosyası, temel olarak, bilgisayara farklı anlamlı görevleri yürütmek için verilen bir dizi talimattır. Bir komut dosyası, sonuçları normal prosedürden daha hızlı elde etmek için lüksün yanı sıra farklı görevleri otomatikleştirmenize yardımcı olur. Normalde, terminalde temel veya gelişmiş bir bash komutu yazarsınız ve hemen üzerinde yürütülür. Bash komut dosyalarında, aynı anda birden fazla talimat veya komut verebilirsiniz ve bilgisayar hepsini yalnızca komut dosyasını çalıştırdığınızda çalıştırır. Özetle, terminalde tek bir bash komutu yürütülebilir, ancak aynı anda birden çok komutun bir kombinasyonunu yürütmek için bir bash betiği oluşturmanız gerekir.

Bash neden yararlıdır ve kimler için yararlıdır?

İşletim sisteminiz üzerinde daha fazla kontrol sahibi olmak ve işletim sistemi ile ilgili farklı görevleri gerçekleştirmek istiyorsanız, o zaman bash sizin için bir yoldur. Bash ile sadece betik diline değil, aynı zamanda Linux işletim sistemi ile birlikte gelen araçlara da atıfta bulunuyoruz. Linux'taki her bir aracın kendi çalışması vardır ve her biri ayrı ayrı farklı bir görevi yerine getirir. Bash, tüm bu araçları bir araya getirmeniz ve bunları, aksi takdirde yapılması gerçekten zor olan bir görevi başarmak için uyum içinde çalışacak şekilde bir araya getirmeniz gerektiğinde gerçekten yararlıdır. Örneğin, Linux işletim sistemi ile ilgili herhangi bir şey Python veya Perl gibi diğer programlama dillerinde de yapılabilir ancak işletim sistemi ile ilgili farklı görevleri gerçekleştirmek çok zordur. Linux işletim sistemi ile ilgili herhangi bir şeyi yapmanın basit, siyah beyaz ve en kolay yolu bash kullanmaktır. Linux işletim sistemi araçlarını içeren (ls, cd, cat, touch, grep vb.) görevleri yapmak isteyen herkes için başka herhangi bir programlama dili yerine bash öğrenmek onun için gerçekten yararlıdır.







Bash diğer programlama dilleriyle nasıl karşılaştırılır?

Bash hakkında konuşursak, bash'ın genel amaçlı bir programlama dili değil, bir komut satırı yorumlayıcısı olduğunu biliriz. Bash, farklı süreçleri bir araya getirme ve hepsinin tek bir amaç için çalışmasını sağlama yeteneği ile farklı araçlar ve süreçler etrafında görevleri gerçekleştirmek için gerçekten yararlıdır. Bash, python, C, vb. gibi diğer genel amaçlı programlama dillerinde yapılması gerçekten zor olan girdi ve çıktıların işlenmesi ve işlenmesi söz konusu olduğunda gerçekten kullanışlıdır. Ancak, veri yapıları ve karmaşık görevler söz konusu olduğunda, karmaşık verileri manipüle ederken bash bu tür görevleri yerine getiremez ve Python, Perl, C, vb. gibi programlama dillerine bakmamız gerekir. Programlama dillerinde yazılım veya araç oluşturabilirsiniz, ancak ikisini de bash'ta oluşturamazsınız. Ancak, araçları çalıştırmak için bash kullanabilir veya verimli bir şekilde çalışmak için bu araçları bir araya getirebilirsiniz. Bu bir roket inşa etmek gibidir, bu metaforu düşünürsek, programlama dilleri roketi inşa etmenize yardımcı olurken, bash roketi sürmenize ve yönünü belirlemenize ve onu aya veya Mars'a indirmenize yardımcı olur.



Bash Komut Dosyaları Nasıl Oluşturulur ve Çalıştırılır?

Bir bash betiği oluşturmak için önce dosya adının sonunda .sh uzantılı bir metin dosyası oluşturmanız gerekir. Terminali kullanarak bash komut dosyası oluşturabilirsiniz.



$dokunmascript.sh


Yukarıdaki komutu yazdıktan sonra enter tuşuna basın ve mevcut çalışma dizininizde oluşturulmuş bir bash komut dosyası dosyasına sahip olursunuz. Ama bu kadar değil, script dosyasını oluşturduk ama scripti tamamlamak ve çalıştırmak için bazı işlemler yapmamız gerekiyor. Her şeyden önce, komut dosyasını bir nano düzenleyicide veya gedit'te açın ve ilk satıra şunu yazın:





#!/bin/bash


Bu, bash betiği olarak tanınmasına yardımcı olan her bash betik dosyası için standart bir ilk satırdır. İlk satırında #!/bin/bash bulunmayan herhangi bir komut dosyası, bir bash komut dosyası olarak kabul edilmeyecektir, bu nedenle bu satırı her komut dosyasının başına eklediğinizden emin olun. Bu satırı ekledikten sonra artık komut dosyasına yazmaya başlayabilirsiniz. Örneğin, buraya basit bir yankı komutu yazardım:

$dışarı attıBu LinuxHint, En İyi Öğrenme Platformuiçinbash


Bu komutu yazdıktan sonra, şimdi kaydedebilir ve terminalinize geri dönebilirsiniz. Terminalinize yazın:



$ls -e


Çalıştırılabilir dosyalar genellikle yeşil renkte olduğundan betiğin yürütülemez bir dosya olduğunun bir işareti olan beyaz renkte yazılmış 'script.sh' görebilirsiniz. Ayrıca, dosyanın yalnızca okunabilir ve yazılabilir olduğunu yansıtan -rw-r–r– gibi bir kalıp görebileceğimiz sol tarafa bir göz atın.
'Rw' içeren ilk bölüm, muhtemelen mevcut kullanıcı olan sahibin izinleridir.

'r' içeren 2. kısım, birden fazla kullanıcımızın olduğu grup için izindir.

'r' içeren 3. kısım kamuya açık izin iken, söz konusu dosya için herkesin bu izinlere sahip olabileceği anlamına gelir.

'r' okuma izinlerini, 'w' yazma izinlerini, 'x' yürütülebilir izinleri temsil eder. Açıkçası, 'script.sh' karşısında x görmüyoruz. Yürütülebilir izinler eklemek için bunu yapmanın iki yolu vardır.

Yöntem 1

Bu yöntemde, '+x' ile basit bir chmod komutu yazabilirsiniz ve yürütülebilir izinleri ekler.

$chmod+ x komut dosyası.sh


Ancak bu, yürütülebilir izinler vermenin en etkili yolu değildir, çünkü yalnızca sahibine değil, gruba ve herkese de güvenlik nedeniyle kesinlikle istemediğimiz yürütülebilir izinler verir. Bir göz at:

Yöntem 2

Bu yöntemde, bir dosyanın izinlerini dikte etmek için sayıları kullanabilirsiniz. Buna atlamadan önce, size bu sayıların ne anlama geldiği ve izinleri değiştirmek için bunları nasıl kullanabileceğinize dair kısa bir fikir vermek istiyorum.
okuma = 4
yaz = 2
yürütmek = 1
İzin numaraları, chmod komutundan sonra üç basamaklı olacaktır ve her basamak, sahip, grup ve diğerlerinin (genel) izinlerini temsil eder. Örneğin, sahibine okuma, yazma ve yürütme izinleri vermek ve gruba ve diğerlerine okuma izinleri vermek şöyle bir şey olurdu:

$chmod 744script.sh


Fark etseydiniz, ilk haneye sahip için okuma, yazma ve çalıştırma sayılarını 4+2+1=7 olarak eklediğimizi, grup ve diğerleri için ise okuma basamağını kullandığımızın farkına varırsınız. yani 4.

Bash Komut Dosyası Çalıştırın

Şimdi nihayet bash betiğini çalıştırabileceğimiz bir işarete ulaştık. Bash betiğinizi çalıştırmak için, betiğinizin bulunduğu mevcut çalışma dizininde olduğunuzdan emin olmanız gerekir. Zorunlu değil ama bu şekilde kolay çünkü tüm yolu yazmak zorunda değilsiniz. Bunu yaptıktan sonra, şimdi devam edin ve terminalinize ./nameofscript.sh yazın. Bizim durumumuzda, betiğin adı 'script.sh', yani şunu yazacağız:

$./script.sh

Bash Betiğinin 3 Basit Örneği

Merhaba Linuxİpucu
Her şeyden önce, mevcut çalışma dizininde bir bash dosyası oluşturacağız:

$nanoF_script.sh


Dosyanın içine aşağıdakileri yazmanız gerekir:

#!/bin/bash
dışarı attı 'Merhaba LinuxHint'


Bunu yazdıktan sonra, şimdi dosya değişikliklerini yazmak için Ctrl+O'ya basmayı deneyin, ardından adı aynı tutmak istiyorsanız enter tuşuna basın, aksi takdirde adı düzenleyin ve ardından enter tuşuna basın. Şimdi nano düzenleyiciden çıkmak için Ctrl+X tuşlarına basın. Şimdi mevcut dizininizde F_script.sh adlı bir dosya göreceksiniz.
Bu dosyayı çalıştırmak için izinlerini değiştirerek çalıştırılabilir hale getirebilir veya şunu yazabilirsiniz:

$bashF_script.sh


Yankı Komutu
echo komutu hakkında konuştuğumuzda, tırnak içinde yazıldığı sürece, yazdırmak istediğiniz hemen hemen her şeyi yazdırmak için kullanılır. Normalde, herhangi bir bayrak olmadan bir yankı komutu çalıştırdığınızda, bir satır bırakır ve çıktıyı yazdırır. Örneğin, bir komut dosyamız varsa:

#!/bin/bash
dışarı attı 'Bir sonraki satıra yazdır'

Kaydedildikten sonra çalıştırırsak:

$bashF_script.sh


Echo ile '-n' bayrağını kullanırsak, aynı satıra yazdırır.

#!/bin/bash
dışarı attı -n 'Aynı satıra yazdırın'

Kaydedildikten sonra çalıştırırsak:

$bashF_script.sh


Benzer şekilde, çift tırnak içinde ' ' veya ' ' kullanırsak, olduğu gibi yazdırılır.

#!/bin/bash
dışarı attı ' YazdırTaynı çizgi '


Bununla birlikte, eğer '-e' bayrağını kullanırsak, o zaman her şey sadece kaybolmakla kalmaz, aynı zamanda ve 'yi de uygular ve aşağıdaki çıktıda değişiklikleri görebilirsiniz:

#!/bin/bash
dışarı attı -Ve ' YazdırTaynı çizgi '


BASH'deki yorumlar
Yorum, bilgisayar için önemli olmayan bir satırdır. Yorum olarak yazdığınız her şey bilgisayar tarafından geçersiz kılınır veya yok sayılır ve yazılı kod üzerinde hiçbir etkisi yoktur. Yorumlar genellikle bir programcının kodun mantığını anlaması için daha yararlı bir yol olarak kabul edilir, böylece kod parçaları üzerinde yeniden çalışmaya geri döndüğünde, bu yorumlar ona mantığı ve neden belirli bir kod yazdığının nedenlerini hatırlatabilir. yol. Yorumlar, kodda değişiklik yapmak isteyebilecek diğer programcılar tarafından da kullanılabilir. Bir kod parçası yazdıysanız ve onu kaldırmak istemiyorsanız ancak çıktıyı o belirli kod parçası olmadan görmek istiyorsanız, o belirli kod parçası hakkında yorum yapabilir ve devam edip çalıştırabilirsiniz. Programınız gayet iyi çalışacak, bu ekstra kod hala komut dosyanızda mevcutken size iyi sonuçlar verecektir, ancak yorumlar nedeniyle etkili değildir. Bu kod parçasını tekrar kullanmak istediğinizde, devam edin ve bu satırları yorumlayın ve gitmeye hazırsınız.
Bash'de yorum yazmanın iki yolu vardır; bir yol tek satırlık yorumlar yazmaktır, diğer yol ise çok satırlı yorumlar yazmak için kullanılır.

Tek Satır Yorumlar
Tek satırlık yorumlarda, satırın tamamına yorum yapılmasına yardımcı olan bir '#' işareti kullanırız. Satırda '#' ile yazılan her şey yorum olarak kabul edilecek ve betiği çalıştırırken gerçek bir değeri olmayacaktı. Bu tek satırlık yorum, koda erişimi olan birine kodun mantığını ve anlaşılmasını iletmek için kullanılabilir.

#!/bin/bash
dışarı attı -Ve ' YazdırTaynı çizgi '
#Bu komut dosyası, /n ve /t'nin / kombinasyonunu uygulamamıza yardımcı olur



Çok Satırlı Yorumlar
Diyelim ki senaryonuzda yüz satır yorum yapmak istiyorsunuz. Bu durumda, tek satırlık yorumları kullanmanız zor olacaktır. Her satıra # koyarak zaman kaybetmek istemezsiniz. ':' ve ardından 'ne olursa olsun yorumlar' kullanabiliriz. Kullanışlı ve kullanışlı olan 3 sembolü yazarak birden çok satıra yorum yapmanıza yardımcı olur.

#!/bin/bash'
: ' Bu, emin olmanızı sağlayan komut dosyasıdır.
bu ve çalışır ve uygulanır
içindegerekli çıktıya sahip olmamızın bir yolu'
dışarı attı -Ve ' YazdırTaynı çizgi '



Linuxhint.com'daki 30 Bash betiği örneğine bir göz atın:

30 Bash Komut Dosyası Örneği

Bash Scripting'de En Önemli 6 Ders

1. Koşullu İfade
Koşullu ifade, karar vermede çok yararlı bir araçtır. Programlama dillerinde yaygın olarak kullanılmaktadır. Daha sık olarak, belirli koşullara dayalı kararlar vermemiz gerekir. Koşullu ifade, verilen koşulu değerlendirir ve karar verir. Bash'de, diğer programlama dilleri gibi koşullu ifadeyi de kullanırız. Bash'de koşullu ifadeyi kullanmanın sözdizimi, diğer programlama dillerinden biraz farklıdır. if koşulu, bash ve diğer genel amaçlı programlama dillerinde en sık kullanılan koşullu ifadedir. if koşulu, verilen koşulu değerlendirir ve karar verir. Verilen koşula test ifadesi de denir. Bash'de if koşulunu kullanmanın birçok yolu vardır. if koşulu, else bloğu ile birlikte kullanılır. Verilen koşulun doğru olması durumunda if bloğunun içindeki ifadeler çalıştırılır, aksi halde else bloğu çalıştırılır. Bash'de if koşulu deyimini kullanmanın aşağıdakiler gibi birden çok yolu vardır:

  1. if ifadesi
  2. If else ifadesi
  3. İç içe if ifadesi
  4. if elif ifadesi

if ifadesi
if deyimi yalnızca verilen koşulu değerlendirir, eğer verilen koşul doğruysa, if bloğu içindeki deyimler veya komutlar yürütülür, aksi takdirde program sonlandırılır. Bash'de koşul if anahtar sözcüğüyle başlar ve fi anahtar sözcüğüyle biterse. Then anahtar sözcüğü, belirli bir koşul doğru olduğunda yürütülen deyimler veya komutlar bloğunu tanımlamak için kullanılır. Bir değişken tanımlayalım ve if koşulunu kullanarak değişkenin 10'dan büyük olup olmadığını değerlendirelim. -gt daha büyük koşulu değerlendirmek için kullanılırken, -lt daha küçük koşulu değerlendirmek için kullanılır.

#!/bin/bash
NEREDE=100
#if koşulunu bildirme
Eğer [ $ VAR -gt 10 ]
sonra
dışarı attı 'NS$ VAR10' den büyük
#if koşulunu sonlandırma
olmak


If else ifadesi
If else ifadesi aynı zamanda koşullu bir ifade olarak da kullanılır. Verilen koşul doğruysa if koşulundan sonraki deyimler veya komutlar yürütülür. Aksi takdirde, verilen koşul doğru değilse, else bloğu yürütülür. else bloğunu if bloğu takip eder ve else anahtar sözcüğü ile başlar.

#!/bin/bash
NEREDE=7
#if koşulunu bildirme
Eğer [ $ VAR -gt 10 ]
sonra
dışarı attı 'NS$ VAR10' den büyük
#başka bir blok bildirme
Başka
dışarı attı 'NS$ VAR10' den az
#if koşulunu sonlandırma
olmak


if koşulu kullanılarak birden çok koşul değerlendirilebilir. Tek bir if deyimi içindeki çoklu koşulları değerlendirmek için and operatörünü (&) ve veya operatörünü (II) kullanabiliriz.

#!/bin/bash
NEREDE=yirmi
#if koşulunu bildirme
Eğer [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
sonra
dışarı attı 'NS$ VAR10'dan büyük ve 100'den küçük
#başka bir blok bildirme
Başka
dışarı attı 'Koşul karşılamıyor'
#if koşulunu sonlandırma
olmak


İç içe if ifadesi
İç içe if ifadesinde, if ifadesinin içinde bir if ifadesine sahibiz. İlk if ifadesi değerlendirilir, eğer doğruysa diğeri değerlendirilir.

#!/bin/bash
NEREDE=yirmi
#if koşulunu bildirme
Eğer [[ $ VAR -gt 10 ]]
sonra
#if koşulu başka bir if koşulunun içinde
Eğer [ $ VAR -lt 100 ]
sonra
dışarı attı 'NS$ VAR10'dan büyük ve 100'den küçük
#başka bir blok bildirme
Başka
dışarı attı 'Koşul karşılamıyor'
#if koşulunu sonlandırma
olmak
Başka
dışarı attı 'NS$ VAR10' den az
olmak


if elif ifadesi
if elif ifadesi, birden çok koşulu değerlendirmek için kullanılır. İlk koşul if bloğu ile başlar ve diğer koşulları elif anahtar kelimesi takip eder. Önceki değişken numarası örneğini ele alalım ve if elif ifadesini bash betiğimizde uygulayalım. Eq, eşit bir operatör olarak kullanılır.

#!/bin/bash
NEREDE=yirmi
#if koşulunu bildirme
Eğer [[ $ VAR -eq 1 ]]
sonra
dışarı attı 'Değişken değeri 1'e eşittir'
elif [[ $ VAR -eq 2 ]]
sonra
dışarı attı 'Değişken değeri 2'ye eşittir'
elif [[ $ VAR -eq 3 ]]
sonra
dışarı attı 'Değişken değeri 2'ye eşittir'
elif [[ $ VAR -gt 5 ]]
sonra
dışarı attı 'Değişken değeri 5'ten büyük'
olmak


2. Döngü
Döngüler, herhangi bir programlama dilinin temel ve temel parçasıdır. Diğer programlama dillerinden farklı olarak, döngüler Bash'de verilen koşul doğru olana kadar bir görevi tekrar tekrar gerçekleştirmek için kullanılır. Döngüler yinelemelidir, benzer türdeki görevlerin otomasyonu için harika bir araçtır. Bash'de for döngüsü, while döngüsü ve till döngüsü kullanılır.
Bu döngüleri tek tek tartışalım.

while döngüsü
while döngüsü, aynı ifadeleri veya komutları tekrar tekrar yürütür. Koşulu değerlendirir ve koşul doğru olana kadar deyimleri veya komutları çalıştırır.
Bash'de while döngüsü kullanmanın temel sözdizimi budur.

[koşul veya test ifadesi] iken
yapmak
ifadeler
tamamlamak

script.sh dosyamıza while döngüsünü uygulayalım. Değeri sıfıra eşit olan bir VAR değişkenimiz var. while döngüsünde, VAR değeri 20'den küçük olana kadar döngünün çalışması için bir koşul koyduk. Her yinelemeden sonra değişken değeri 1 artırılır. Bu durumda, döngü, değişken değeri 20'den küçük olana kadar çalışmaya başlayacaktır.

#!/bin/bash
NEREDE=0
süre [ $ VAR -lt yirmi ]
yapmak
dışarı attı 'Değişkenin geçerli değeri$ VAR'
#VAR'da değeri 1 artırma
NEREDE= $((VAR +1))
tamamlamak


for döngüsü
For döngüsü, her programlama dilinde en sık kullanılan döngüdür. Yinelemeli görevi yürütmek için kullanılır. Tekrarlayan görevleri gerçekleştirmenin en iyi yoludur. script.sh dosyamızda for döngüsünü tanımlayalım ve onu tekrarlayan bir görevi gerçekleştirmek için kullanalım.

#!/bin/bash
NEREDE=0
için (( ben==0; ben<yirmi; ben++))
yapmak
dışarı attı 'Merhaba ve linuxhint'e hoş geldiniz'
#i değişkenini artırma
ben= $((ben+1))
tamamlamak
dışarı attı 'Bu for döngüsünün sonu'


kadar döngü
Bash'de kullanılan diğer döngü türü, döngüdür. Ayrıca aynı kümeyi tekrar tekrar gerçekleştirir veya yürütür. Kadar döngüsü koşulu değerlendirir ve verilen koşul yanlış olana kadar yürütmeye başlar. Kadar döngüsü, verilen koşul doğru olduğunda sona erer. Kadar döngüsünün sözdizimi aşağıdaki gibidir:

[koşul]a kadar
yapmak
ifadeler
komutlar
tamamlamak

script.sh dosyamızdaki till döngüsünü uygulayalım. Koşul yanlış olmadığı sürece 'ye kadar' döngüsü çalışacaktır (Değişkenin değeri 20'den küçüktür)

#!/bin/bash
NEREDE=0
a kadar [ $ VAR -gt yirmi ]
yapmak
dışarı attı 'Merhaba ve linuxhint'e hoş geldiniz'
#i değişkenini artırma
NEREDE= $((VAR +1))
tamamlamak
dışarı attı 'Bu döngünün sonu'


3. Kullanıcıdan okuma ve ekrana yazma
Bash, kullanıcıya terminalde bir dizi değer veya veri girme özgürlüğü verir. Kullanıcı tarafından girilen dizi veya veriler terminalden okunabilir, dosyada saklanabilir ve terminalde yazdırılabilir. Bash dosyasında, kullanıcıdan gelen girdi şu şekilde okunabilir: okuman anahtar kelime ve onu bir değişkende saklıyoruz. Değişken içeriği, echo komutu kullanılarak terminalde görüntülenebilir.

#!/bin/bash
dışarı attı 'Terminale bir şeyler yazın'
#girilen değeri VAR'a kaydetme
okumanNEREDE
dışarı attı 'Sen girdin:$ VAR'


Read komutu ile birden fazla seçenek kullanılabilir. En sık kullanılan seçenekler -p ve -s'dir. -p istemi görüntüler ve giriş aynı satırda alınabilir. –s, girişi sessiz modda alır. Girişin karakterleri terminalde görüntülenir. Bazı hassas bilgileri, yani şifreleri girmek faydalıdır.

#!/bin/bash
okuman -P 'E-posta girin:'e-posta
dışarı attı 'Parolanı Gir'
okuman -sparola


4. Metin dosyalarını okuma ve yazma
Metin dosyaları, verileri okumak ve yazmak için gerekli bileşenlerdir. Veriler geçici olarak metin dosyalarında saklanır ve metin dosyasından kolayca okunabilir. İlk olarak text dosyasına datanın yazılması konusunu ele alalım ve sonrasında text dosyalarından datanın okunmasını ele alacağız.

Metin dosyalarının yazılması
Veriler bir dosyaya çeşitli şekillerde yazılabilir:

  • Sağ Açılı Parantez veya büyüktür işaretini (>) kullanarak
  • Çift Sağ Açılı Parantez (>>) kullanarak
  • tee komutunu kullanarak

Veri yazmak için Sağ Köşeli Ayraç İşareti (>)
verileri metin dosyasına yazmanın en yaygın kullanılan yoludur. Verileri yazıp ardından > işaretini koyuyoruz. > işareti, verileri depolamamız gereken metin dosyasını gösterir. Ancak, dosyayı eklemez ve dosyanın önceki verileri tamamen yeni verilerle değiştirilir.

#!/bin/bash
#user metin dosyası adını girer
okuman -P 'Dosya adını girin:'DOSYA
#user metin dosyasında saklanacak verileri girer
okuman -P 'Dosyaya girilecek verileri yazın:'VERİ
#metin dosyasında veri depolama
# > dosya adını gösterir.
dışarı attı $VERİ > $DOSYA


Veri yazmak için Sağ Köşeli Ayraç İşareti (>>)
>>, herhangi bir komutun çıktısını dosyada saklamak için kullanılır. Örneğin, ls -al komutu, belirli bir dizindeki bir dosyanın içeriğini ve izinlerini gösterir. >> çıktıyı dosyada saklar.

#!/bin/bash
#user metin dosyası adını girer
okuman -P 'Dosya adını girin:'DOSYA
#komut çıktısını dosyada saklamak
ls -e >> $DOSYA



Metin dosyasına veri yazmak için tee komutunu kullanma
Bash'deki tee komutu, komutun çıktısını bir metin dosyasına yazmak için kullanılır. Komutun çıktısını terminalde yazdırır ve metin dosyasında saklar.

#!/bin/bash
#user metin dosyası adını girer
okuman -P 'Dosya adını girin:'DOSYA
#tee komutunu kullanarak komut çıktısını dosyaya kaydetme
ls -e | tişört $DOSYA


tee komutu, varsayılan olarak dosyanın mevcut verilerinin üzerine yazar. Ancak, tee komutuyla birlikte -a seçeneği, dosyayı eklemek için kullanılabilir.

#!/bin/bash
#user metin dosyası adını girer
okuman -P 'Dosya adını girin:'DOSYA
#tee komutunu kullanarak komut çıktısını dosyaya kaydetme
ls -e | tişört -ile $DOSYA


Metin dosyalarını okuma
NS kedi Komut dosyasından veri okumak için kullanılır. Bu amaçla en sık kullanılanıdır. Sadece metin dosyasının içeriğini terminalde yazdırır. Dosyanın içeriğini veya verilerini kullanarak terminalde yazdıralım. kedi emretmek.

#!/bin/bash
#user metin dosyası adını girer
okuman -P 'Dosya adını girin:'DOSYA
#metin dosyasındaki verileri okuma
kedi $DOSYA


5. Bash'den diğer programları çalıştırmak
Bash, Bash betiğinden diğer programları çalıştırma yetkisi verir. Bash'den diğer programları çalıştırmak için exec komutunu kullanıyoruz. exec komutu, önceki işlemi mevcut işlemle değiştirir ve mevcut programı başlatır. Örneğin, bash betiğinden nano, gedit veya vim düzenleyicisini açabiliriz.

#!/bin/bash
Bash'den #running nano editörü
yürütmek nano

#!/bin/bash
#Gedit'i Bash'den çalıştırmak
yürütmekgedit

Benzer şekilde tarayıcı uygulamasını Bash'den de çalıştırabiliriz. Mozilla Firefox tarayıcısını çalıştıralım.

#!/bin/bash
#firefox'u çalıştırmak
yürütmekfirefox


Ayrıca, herhangi bir programı Bash'den exec komutunu kullanarak çalıştırabiliriz.

6. Komut satırı işleme
Komut satırı işleme, terminalde girilen verilerin işlenmesi anlamına gelir. Komut satırı verileri, kullanıcı girdisini okumak, komutları olduğundan az göstermek ve argümanları okumak gibi birçok amaç için işlenir. Daha önce read komutundan bahsetmiştik. Read komutu, komut satırı işleme için de kullanılır. Bu bölümde, komut satırı argümanlarının işlenmesini tartışacağız. Bash'de, terminalde iletilen veya yazılan argümanları işleyebiliriz. Argümanlar, iletildikleri gibi işlenir. Bu nedenle, konumsal parametreler olarak adlandırılır. Diğer programlama dillerinin aksine Bash'de argümanların indekslenmesi 1 ile başlar. Argümanları okumak için dolar işareti ($) kullanılır. Örneğin, $1 ilk argümanı okur, $2 ikinci argümanı okur, vb. Argümanlar, kullanıcıdan girdi almak gibi çeşitli nedenlerle ayrıştırılabilir.

#!/bin/bash
dışarı attı 'Adınızı giriniz'
#ilk argümanı işliyor
dışarı attı 'İlk adı:' 1 dolar
#ikinci argüman işleniyor
dışarı attı 'İkinci ad:'2 dolar
#üçüncü argüman işleniyor
dışarı attı 'Soyadı:' 3 dolar
dışarı attı 'Ad Soyad:' 1 dolar 2 dolar 3 dolar


Verileri read kullanarak terminalden okumak ve argümanları ayrıştırmak, komut satırı işlemenin en uygun örnekleridir.

Bash'in Tarihçesi ve Diğer Kabuklarla Karşılaştırılması

Bash, artık UNIX ve Linux tabanlı sistemlerin temel bileşenidir. Bourne Shell ilk olarak Stephen Bourne tarafından geliştirildi. Stephen Bourne kabuğunun amaçlanan amacı, o sırada zaten var olan mermilerin sınırlamalarının üstesinden gelmekti. Bourne Shell'den önce UNIX, Thompson Shell'i tanıttı. Ancak, Thompson kabuğu komut dosyasını işlemede çok sınırlıydı. Kullanıcılar, yeterli miktarda komut dosyasını çalıştıramadı. Thompson kabuğunun tüm bu sınırlamalarının üstesinden gelmek için Bourne Shell tanıtıldı. Bells Lab'de geliştirildi. 1989'da Brian Fox, çok sayıda başka özellik ekleyerek Bourne kabuğunda devrim yarattı ve onu Bourne Again Shell (BASH) olarak adlandırdı.

kabuğun adı Yıl platformu Açıklama BASH ile karşılaştırma
Thompson Kabuğu 1971 UNIX Komut dosyasının otomasyonu sınırlıydı. Kullanıcı yalnızca az miktarda komut dosyası oluşturabilir. BASH, Thompson kabuğunun sınırlamalarının üstesinden gelir ve kullanıcı büyük komut dosyalarını yazabilir.
bourne kabuğu 1977 UNIX Büyük miktarda komut dosyası yazmamıza ve çalıştırmamıza izin verir. Bourne Shell, komut düzenleyici ve daha fazla sayıda kısayol olanağı sağlamaz. BASH, komut düzenleyiciyle birlikte tasarımda iyileştirmeler sağlar.
POSIX Kabuğu 1992 POSIX POSIX Kabuğu taşınabilirdir. Birçok kısayol ve iş kontrolü sağlar. BASH, taşınabilirlik gerektirmeyen görevleri gerçekleştirmek için popülerdir.
Z Kabuk 1990 UNIX Z Shell, zengin özelliklere sahiptir. Çok güçlü bir kabuktur ve komut otomatik tamamlama, yazım düzeltme ve otomatik doldurma gibi özellikler sağlar. BASH, Z Shell tarafından sağlanan bazı özelliklerden yoksundur.

Çözüm

BASH, komutları ve komut dosyalarını çalıştırmamıza izin veren çok güçlü bir araçtır. Bir BASH betiği, günlük görevleri ve komutları otomatikleştirmemize izin verir. BASH betiği, birden çok komutun birleşimidir. BASH dosyası .sh uzantısıyla biter. BASH betiğini çalıştırmadan önce dosya izinlerini güncellememiz ve .sh dosyasına yürütülebilir izni vermemiz gerekiyor. Bu makale, basit örnekler ve önemli dersler yardımıyla BASH ve BASH komut dosyalarını açıklamaktadır. Ayrıca, BASH'ın tarihini açıklar ve özelliklerini diğer çeşitli güçlü mermilerle karşılaştırır.