Post

What is Linux Bash and Bash Script

Linux Bash, bir Unix/Linux tabanlı işletim sistemi için varsayılan komut satırı kabuğudur. Kabuk, kullanıcının sistemle etkileşimde bulunabilmesi için bir arayüz sağlar. Kullanıcılar kabuk aracılığıyla komutlar yazabilir, programlar çalıştırabilir, dosyaları yönetebilir ve sistem yapılandırmasını değiştirebilirler.

Bash script ise, Bash kabuğu komutlarının bir araya getirilmesiyle oluşturulan betiklerdir. Bash scriptler, birçok görevi otomatikleştirmek ve sistem yönetimi için özelleştirilmiş görevleri yerine getirmek için kullanılabilir. Bash scriptler, sistem yönetimi, günlük dosyalarını yönetme, yedekleme işlemleri, ağ yönetimi ve diğer birçok görev için kullanılabilir. Bash scriptler, sh uzantılı dosyalar olarak kaydedilir ve yürütülebilir hale getirilebilir.

Bash harici Sıkça kullanılan bazı diğer Sheller:

  • Zsh (Z Shell): Bash ile benzer özelliklere sahip olan bir kabuk ancak daha gelişmiş özellikler sunar. Otomatik tamamlama, renkli çıktı, dosya yönetimi ve araçları gibi gelişmiş özelliklere sahiptir.
  • Ksh (Korn Shell): AT&T tarafından geliştirilen bir kabuk. Bash ile benzer özelliklere sahip olan Ksh, Bash'tan daha hızlı ve daha düşük bellek tüketimine sahiptir.
  • Csh (C Shell): C programlama diline benzer bir dil yapısına sahip olan kabuk. Unix ve Linux sistemlerinde sıkça kullanılan bir kabuk olmasına rağmen, bazı eleştirmenler tarafından kaba bir dil yapısına sahip olduğu ve sınırlı özellikleri olduğu için önerilmez.
  • Fish (Friendly Interactive SHell): Kullanımı kolay, modern ve etkileşimli bir kabuk. Otomatik tamamlama ve renkli çıktı gibi özelliklere sahiptir. Kullanıcı dostu arayüzü ve zengin bir özellik kümesi ile dikkat çeker.
  • Tcsh (TENEX C Shell): Csh'nin geliştirilmiş bir versiyonu olan Tcsh, Csh'ye kıyasla daha gelişmiş özellikler sunar. Otomatik tamamlama, komut satırı düzenleme ve tarih işleme gibi özelliklere sahiptir.

Peki Bash Shell Script Nedir?

Bash shell script, Bash kabuğu tarafından yürütülebilen betiklerdir. Bash shell scriptleri, Bash komutları ve programlama yapıları kullanılarak yazılır ve kabuğun etkileşimli kullanımıyla aynı işlevleri yerine getirebilirler. Bu scriptler, sistem yönetimi, dosya yönetimi, ağ yönetimi, yedekleme işlemleri, günlük dosyalarının yönetimi ve diğer birçok görev için kullanılabilir.

Bash shell scriptleri, bir veya daha fazla komutu bir araya getirerek betik dosyaları olarak yazılır. Bu betikler, çalıştırılabilir dosya olarak işaretlenebilir ve ardından terminalde "./script_name" komutu kullanılarak çalıştırılabilir. Bash shell scriptleri, komutları ardışık olarak yürütmek, koşul ve döngü işlemleri, değişkenler ve fonksiyonlar gibi programlama yapıları kullanılarak karmaşık görevleri otomatikleştirmek için kullanılabilir.

UNIX kabuğu (shell) tarafından çalıştırılması veya yürütülmesi için hazırlanan komut satırı tabanlı küçük bilgisayar programlarıdır. Basit bir metin dosyasının içine yerleştirilen Shell Script’in içinde UNIX kabuğunundakine benzeyen çalıştırılabilir komutlar yer alır. Tıpkı gerçek bir programda olduğu gibi Shell Script’in içinde sistem kabuğuna ne yapacağı talimatını veren komutlar, parametreler ve alt komutlar vardır. bunu Windows tarafındaki Powershell ISE toolu' na benzetebiliriz. Powershell' de script uzantısı ipcheck.Ps1 iken Bash Shell' de bu uzantı ipcheck.sh olacaktır.

Bash Script’i nasıl kullanacağız:

1) ipcheck.sh uzantılı yeni bir dosya oluşturalım. 
2) satır başına #!/bin/bash ekleyin. Bu, “çalıştırılabilir yapacağım” demektir.
3) komut satırında kullanacağımız satırları ekleyip kaydedelim.
4) scripti ilgili dizine gidip "sudo bash ipcheck.sh" veya sudo sh ipcheck.sh komutuyla çalıştıralım.
4) yetki sorunu ile karşılaşırsak "chmod u+x ipcheck.sh" kendimize execute yetkisi verelim.
5) ek olarak "./ipcheck.sh" bu komutla yazdığımız Script'i çalıştırabiliriz.
#Aşağıdaki komutla sistemimizdeki mevcut kabukları görelim:
cat /etc/shells

#Şuan hangi kabuk üzerinde yer aldığımızı öğrenmek için:
echo $SHELL

İlgili dizine dosya indirmek için(indir.sh):

#!/bin/bash
# cekilecek dosya/yol
wget 'egm.gov.tr/kurumlar/egm.gov.tr/anasayfaTasarim/Ataturk/atam_2.jpg'

Fiziksel Ip Adresi öğrenmek(ipcheck.sh):

#! /bin/bash
# gerekli bash komutu
ip=$(ip address| awk '/inet/ {print $2}' | grep -v ^::1 | grep -v ^127)
#IP adresini yansıt
echo "IP adres / MAC"
echo "$ip"

Dış Ip Adresi öğrenme):

#! /bin/bash
# gerekli bash komutu - Ext_ipcheck.sh
wget -qO- ifconfig.me/ip

Saygılarımla – Best regards.

This post is licensed under CC BY 4.0 by the author.