Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

İçindekiler:

Anonim

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çin bash kullanır. #!/usr/bin/env perl - perl yürütülebilir dosyasının yolunu bulmak için env komutunu kullanır. #!/usr/bin/python Dosyayı python ikili 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.

  1. Bash ikili dosyasının mutlak yolunu kullanarak:

    #!/bin/bash

    env yardı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

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 terminali