Yazılım

Bağımsız Değişkenleri Bash Komut Dosyasına Aktarma

Yazar: Louise Ward
Yaratılış Tarihi: 7 Şubat 2021
Güncelleme Tarihi: 12 Mayıs Ayı 2024
Anonim
Komut satırı satırındaki bir zabbix API örneği Linux Bash, Curl kullanan Windows Batch
Video: Komut satırı satırındaki bir zabbix API örneği Linux Bash, Curl kullanan Windows Batch

İçerik

Çalışma zamanında bağımsız değişkenleri bir komut dosyasına aktarmak için iki yöntemden birini kullanın

Komut satırından komut dosyası çağrıldığında belirtilen bağımsız değişkenleri alacak şekilde bir Bash komut dosyası yazın. Bir komut dosyasının, giriş parametrelerinin değerlerine bağlı olarak biraz farklı bir işlev gerçekleştirmesi gerektiğinde, aynı zamanda argümanlar.

Bash Betikinde Bağımsız Değişken Geçme Örneği

Adlı bir komut dosyası geliştirdiyseniz stats.sh bir dosyadaki kelimeleri sayarsa, aynı komut dosyasının işlenecek tüm dosyalar için kullanılabilmesi için dosya adını argüman olarak iletmek en iyisidir. Örneğin, işlenecek dosyanın adı songlist.txt, komut satırına aşağıdakileri girin:


sh stats.sh songlist.txt

Bağımsız değişkenlere komut dosyası içinde değişkenler kullanılarak erişilir $1, $2, $3, ve bunun gibi. Değişken $1 ilk argümanı ifade eder, $2 ikinci tartışmaya ve $3 üçüncü tartışmaya. Örneğin, komut dosyasında:

DOSYA1 = $ 1
wc $ DOSYA1

İlk bağımsız değişkenin değerine açıklayıcı ada sahip bir değişken atayın ($1) yazın ve değişken üzerindeki kelime sayısı yardımcı programını (WC) çağırın $ DOSYA1.

Değişken sayıda bağımsız değişkene ihtiyacınız varsa, $@ tüm girdi parametrelerinin bir dizisi olan değişken. Bu yordam, aşağıdaki örnekte gösterildiği gibi, her birini yinelemeli olarak işlemek için bir for döngüsü kullanır:

"$ @" içindeki FILE1 için
yapmak
wc $ DOSYA1
tamam

Bu komut dosyasını komut satırından bağımsız değişkenlerle nasıl çağıracağınıza dair bir örnek:

sh stats.sh şarkı listesi1 şarkı listesi2 şarkı listesi3

Bir bağımsız değişken boşluk içeriyorsa, tek tırnak işareti içine alın. Örneğin:


sh stats.sh 'şarkı listesi 1' 'şarkı listesi 2' 'şarkı listesi 3'

Bayraklar Yöntemi

Genellikle bir komut dosyası yazılır, böylece argümanlar bayraklar kullanılarak herhangi bir sırada iletilebilir. Flags yöntemi ile bazı argümanlar isteğe bağlı yapılabilir.

Örneğin, belirli parametrelere dayalı olarak veritabanından bilgi alan bir komut dosyası yazın. Kullanıcı adı, tarih, ve ürün, ve belirtilen biçimde bir rapor oluşturur. Komut dosyası, komut dosyası çağrıldığında bu parametrelerin geçirileceği şekilde yazılmalıdır. Şöyle görünebilir:

makereport -u jsmith -p dizüstü bilgisayarlar -d 10-20-2011 -f pdf

Bash bu işlevselliği getopts işlevi. Yukarıdaki örnek için şunu kullanın: getopts aşağıdaki gibi:

getopts u: d: p: f: seçenek
yapmak
vaka "$ {option}"
içinde
u) KULLANICI = $ {OPTARG} ;;
d) TARİH = $ {OPTARG} ;;
p) ÜRÜN = $ {OPTARG} ;;
f) FORMAT = $ {OPTARG} ;;
esac
tamam

Bu, getopts işlev ve sözde SÇNDİZGESİ-bu durumda u: d: s: f:- argümanları yinelemek için. süre loop, argümanları iletmek için kullanılan bayrakları içeren optstring boyunca yürür ve bu bayrak için sağlanan argüman değerini değişkene atar seçenek. durum ifadesi daha sonra değişkenin değerini atar seçenek tüm değişkenler okunduktan sonra kullanılan bir global değişkene dönüştürür.


Colons için anlamlar

Seçimdeki iki nokta üst üste işaretleri, karşılık gelen bayraklar için değerlerin gerekli olduğu anlamına gelir. Yukarıdaki örnekte u: d: s: f:, tüm bayrakları iki nokta üst üste izler. Bu, tüm bayrakların bir değere ihtiyacı olduğu anlamına gelir. Örneğin, d ve f bayrakların bir değere sahip olması beklenmiyordu, u: dp: f tercih ederdim.

Seçimin başlangıcında bir iki nokta üst üste (örneğin, U: d: s: f:) tamamen farklı bir anlama sahiptir. Optstring'de temsil edilmeyen bayrakları işler. Bu durumda, seçenek değişken ? ve OPTARG değeri beklenmeyen bayrağa ayarlandı. Bu davranış, hatayı bildiren uygun bir hata iletisi görüntüler.

Bayraktan önce gelmeyen bağımsız değişkenler tarafından yoksayılır getopts. Komut dosyası çağrıldığında optstring'de belirtilen bayraklar sağlanmazsa, kodunuzda bu durumu özel olarak ele almadığınız sürece hiçbir şey olmaz. Tarafından ele alınmayan argümanlar getops hala normal ile yakalanabilir $1, $2, ve $3 değişkenler.

Büyüleyici Yayınlar

Yeni Iletiler

Diskinizi Çift Önyüklemeye Hazırlama Windows 8 ve Linux
Yazılım

Diskinizi Çift Önyüklemeye Hazırlama Windows 8 ve Linux

Linux'u canlı bir UB olarak kullanmayı denedikten ve onu anal bir makinede kullanmanın öteine geçtikten onra, Linux'u abit dikinize yükleyin. Birçok kişi Linux'u tam z...
Outlook.com Desteği ile İletişim
Yazılım

Outlook.com Desteği ile İletişim

tarafından gözden geçirildi Outlook.com'un naıl kullanılacağı hakkında bilgi almak itediğinizde veya teknik bir orunla ilgili yardıma ihtiyacınız olduğunda, şu Microoft kaynaklarını kul...