Android

Bash kaynak komutu

Bash Scripting : Source and Fork your Scripts

Bash Scripting : Source and Fork your Scripts

İçindekiler:

Anonim

source komutu, geçerli kabuk ortamında argümanı olarak belirtilen dosyadaki komutları okur ve yürütür. İşlevleri, değişkenleri ve yapılandırma dosyalarını kabuk komut dosyalarına yüklemek yararlıdır.

source , Bash ve Linux ve UNIX işletim sistemlerinde kullanılan diğer popüler kabuklarda yerleşik bir kabuktur. Davranışı kabuktan kabuğa biraz farklı olabilir.

Kaynak Komut Sözdizimi

source komutunun sözdizimi aşağıdaki gibidir:

source FILENAME. FILENAME

  • source ve . (nokta) aynı komuttur. FILENAME bir dosyanın tam yolu değilse, komut $PATH ortam değişkeninde belirtilen dizinlerde dosyayı arar. Dosya $PATH içinde bulunmazsa, komut geçerli dizindeki dosyayı arar. Herhangi bir ARGUMENTS verilirse, bunlar FILENAME için konumsal parametreler haline gelir. FILENAME varsa source komut çıkış kodu 0 , aksi takdirde dosya bulunmazsa 1 döndürür.

Kaynak Komut Örnekleri

Bu bölümde, source komutunun nasıl kullanılacağına dair bazı temel örneklere bakacağız.

Kaynak Kullanımı

Bu örnekte, komut dosyasını çalıştıran kullanıcının kök olup olmadığını kontrol eden bir bash işlevi içeren bir dosya oluşturacağız ve eğer değilse, bir mesaj gösterir ve komut dosyasından çıkar.

functions.sh

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

Şimdi yalnızca kök kullanıcı tarafından çalıştırılması gereken komut dosyalarınızın her birinde, sadece functions.sh dosyasını kaynaklayın ve functions.sh çağırın:

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

Bu yaklaşımın avantajı, komut dosyalarınızın daha küçük ve daha okunabilir olması gerektiğinde aynı işlev dosyasını yeniden kullanabilmeniz ve bir işlevi değiştirmeniz gerektiğinde yalnızca bir dosyayı düzenleyebilmenizdir.

Bash Yapılandırma dosyası

source komutuyla, bir dosyadaki değişkenleri de okuyabilirsiniz. Değişkenler Bash sözdizimi kullanılarak ayarlanmalıdır, VARIABLE=VALUE .

Bir test yapılandırma dosyası oluşturalım:

config.sh

VAR1="foo" VAR2="bar"

Bash komut dosyanızda yapılandırma dosyasını okumak için source komutunu kullanın:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

Sonuç

Bu kılavuzda, kabuk komut dosyalarınızda source builtin komutunun nasıl kullanılacağını öğrendiniz.

bash terminali