Shell Script #7 – İnteraktif Script’ler

Bu zamana kadar yazdığımız script’lerin neredeyse tamamında bir çıktı (output) ürettik. Ancak hiçbirinde bir girdi (input) almadık.

Kullanıcıyla etkileşime geçen script’lere “etkileşimli (interactive, interaktif)” script’ler diyoruz. Etkileşim; input alma, output verme ya da ikisiyle birden de gerçekleştirebilir. Dolayısıyla bu yazıda, bir yandan çıktılarımızı biçimlendirmeyi denerken bir yanda da girdileri yönetebilmeyi deneyeceğiz.

Kod örneklerini GitHub reposunda bulabilirsiniz.

Okumaya devam et “Shell Script #7 – İnteraktif Script’ler”

Shell Script #6 – Matematiksel İşlemler

Shell scripting serisine matematiksel işlemler ile devam ediyoruz. Konu, programlama dillerine aşina arkadaşlar için oldukça basit kalacaktır. Ancak yine de bash’e özel bazı noktalara değinmiş olacağız.

Kod örneklerini GitHub reposunda bulabilirsiniz.

Bash ortamında "başarısız" bir toplama işlemi
Bash ortamında “başarısız” bir toplama işlemi
Okumaya devam et “Shell Script #6 – Matematiksel İşlemler”

Shell Script #5 – Local ve Environment Variables

Daha önce değişkenler konusuna biraz değinmiştik. Bu yazıda ise local (yerel) ve environment (çevre) değişkenleri arasındaki farklılıklardan bahsedeceğiz.

Bu yazının sonunda, aşağıdaki ekran görüntüsünü anlar hâle gelmek istiyoruz:

Bash ortamında yerel değişkenler ve çevre değişkenleri

Bu yazıda kullanılan kod örnekierini GitHub’da bulabilirsiniz.

Okumaya devam et “Shell Script #5 – Local ve Environment Variables”

Shell Script #4 – Bash’in Yapılandırma Dosyaları

Hayat kurtarmak için hazırda bekleyen shell’imiz, verdiğimiz komutları yorumluyor ve çalıştırıyor. Shell’imiz şu özelliklere sahip:

  • Bir program çalıştırabiliyor. Harici komutlar (external commands) bunun örneği: ls, cat, ps gibi.
  • Kendisi, önceden tanımlamış komutları çalıştırabiliyor. Dâhili komutlar (internal commands) bunun örneği: type, help, echo gibi.
  • Aynı zamanda kendisi de bir programlama ortamı. Shell script’leri yazabiliyor ve bu scriptler içinde döngüler (for, while gibi), karar yapıları (if-else gibi) bunun örneği.

Bu açıdan bakarsak shell’imiz, gerçek anlamda bizim çalışma ortamımız. Black is the new gold. Bu yazıda, “bash” programının davranışlarını etkileyen ayar dosyalarından bahsedeceğiz.

Okumaya devam et “Shell Script #4 – Bash’in Yapılandırma Dosyaları”

Shell Script #3 – Shell Script’lerin Çalışma Mantığı

Shell script’ler, özünde birer text dosyasıdır. Derlenmemiş hâlde bulunan bir dizi instruction’dan oluşur. Bu instruction’lar; shell’in yerleşik komutları olabileceği gibi (type, cd, echo vs.), sistemde kurulu programlar da (ls, dpkg, ping vs.) olabilir.

Yaygın kanı; shell’e yazılan komutların, bir text dosyasına yazılıp script hâline getirildikten sonra çalıştırılmasından farksız olacağı yönündedir. Bu durum çoğu zaman doğru olabilir. Fakat her zaman değil 🙂

Kod örneklerini paylaştığım GitHub reposu: Shell Scripting 101

Okumaya devam et “Shell Script #3 – Shell Script’lerin Çalışma Mantığı”