Shell Scripting - Introduction & Shebang
İçindekiler:
- Shebang Tercüman Direktifi
- Bash Scriptlerinde Shebang Kullanımı
- Örnek Komut Dosyası
- Mesele geçersiz kılma
- Sonuç
Bu karakter dizisine (
#!
) Shebang denir ve işletim sistemine dosyanın geri kalanını ayrıştırmak için hangi yorumlayıcıyı kullanacağını söylemek için kullanılır.
Shebang Tercüman Direktifi
Shebang tercüman direktifi aşağıdaki formu alır:
#!interpreter
- Yönerge, komut dosyasındaki ilk satır olmalıdır. Yönerge, shebang
#!İle başlamalıdır#!Gizli karakterlerden sonraki boşluk isteğe bağlıdır. Tercüman, ikili dosyanın tam yoludur (örn:/bin/sh,/bin/bash). Tercüman bağımsız değişkenleri isteğe bağlıdır.
Örnekler:
-
#!/bin/bash- Dosyayı ayrıştırmak içinbashkullanır.#!/usr/bin/env perl-perlyürütülebilir dosyasının yolunu bulmak içinenvkomutunu kullanır.#!/usr/bin/pythonDosyayıpythonikili dosyasını kullanarak yürütür.
Bash Scriptlerinde Shebang Kullanımı
Bir shebang belirtilmezse ve Bash betiğini çalıştıran kullanıcı başka bir Kabuk kullanıyorsa, betiğin bu Kabuk tarafından kullanılan varsayılan yorumlayıcı tarafından ayrıştırılması gerekir. Örneğin,
bash
için varsayılan yorumlayıcı
bash
ve
zsh
için
zsh
. Betiğinizin her zaman Bash ile yorumlanacağından emin olmak için, çalıştırılabilir yolu shebang kullanarak belirtmeniz gerekir.
Shebang yönergesini kullanmanın ve tercümanı ayarlamanın iki yolu vardır.
-
Bash ikili dosyasının mutlak yolunu kullanarak:
#!/bin/bashenvyardımcı programını kullanarak:#!/usr/bin/env bash
İkinci yaklaşımı kullanmanın avantajı, kullanıcının
$PATH
çevresel değişkeninde
bash
yürütülebilir dosyasını arayacağıdır.
bash
için birden fazla yol varsa, ilk yol komut dosyası tarafından kullanılır.
Bash kabuk kaynağına bir seçenek eklemek için ilk seçeneği kullanırken, yorumlayıcıya iletin. Örneğin, komut dosyasını bir hata ayıklama modunda çalıştırmak için
#!/bin/bash -x
.
env
yöntemini kullanıyorsanız, seçeneği bildirmek için set'i kullanmanız gerekir. Hata ayıklama modunu etkinleştirmek için, shebang satırından sonra
set -x
eklersiniz.
Örnek Komut Dosyası
Haydi “Merhaba Dünya” yazdıracak olan basit bir senaryo oluşturalım. Metin düzenleyicinizi açın ve aşağıdaki satırı yapıştırın:
nano hello_world
Selam Dünya
#!/bin/bash echo "Hello, World"
Komut satırından yorumlayıcı belirtmeden komut dosyasını çalıştırabilmek için dosyayı yürütülebilir hale getirmeniz gerekir:
chmod +x hello_world
Şimdi komut dosyasını
./
ardından komut dosyası adını yazarak çalıştırabiliyorsanız:
./hello_world
Mesele geçersiz kılma
Herhangi bir nedenle Shebang satırında ayarlanan yorumlayıcıyı geçersiz kılmak istiyorsanız, komut dosyasını istenen kabuğu açıkça belirterek çalıştırmanız gerekir.
Örneğin,
bash
kabuğunu kullanarak Shebang satırında
#!/bin/sh
belirtilmiş bir komut dosyasını çalıştırmak için:
bash hello_world
Lütfen, kabuk yorumlayıcısını geçersiz kılmanın iyi bir fikir olmadığını, çünkü komut dosyasının beklenmedik davranışlarına yol açabileceğini unutmayın.
Sonuç
Şimdiye kadar Shebang'ın ne olduğunu ve Bash scriptlerinizde nasıl kullanılacağını iyi anlamanız gerekir.
bash terminaliMicrosoft Research Asia, Gates on 10 Year Bash'de
Microsoft Research Asia, 1998 yılında bir düzine insandan on yıl sonra 350'den fazla kişiye ulaştı.
Bash dizileri
Diziler en çok kullanılan ve temel veri yapılarından biridir. Bu makalede, Bash dizilerini ele alacağız ve bunları Bash betiklerinizde nasıl kullanacağınızı açıklayacağız.
Bash: dosyaya ekle
Linux'ta, bir dosyaya metin eklemenin birden çok yolu vardır. Bu makalede bazıları açıklanmaktadır.







