logo

Bash Değişkenleri

Değişkenler programlamanın vazgeçilmez parçasıdır veya bir programlama dilinin ruhudur diyebiliriz. Değişkenler hafıza konumunu karakterler, sayısal ve alfanümerik aracılığıyla belirtir. Bir bilgisayar programında referans olarak kullanılmak ve manipüle edilmek için kullanılırlar.

Değişkenler nelerdir?

Değişkenler, verileri veya yararlı bir bilgiyi içlerindeki değer olarak saklayan kaplardır. Aşağıda bir değişkenin sözdizimi verilmiştir:

 Variable_name =value 

Değişken, iki kelimenin birleştirilmiş halidir, yani değişken + mümkün, bu da değerinin değiştirilebileceği ve birden çok kez kullanılabileceği anlamına gelir.

c# örnek kod

Değişken, tamsayı, kayan nokta, karakter vb. her türlü verinin geçici olarak saklandığı yer olarak bilinir. Bir değişken adı şunları içerebilir: harfler, rakamlar ve alt çizgi , adı yalnızca harf ve alt çizgi ile başlayabilir.

Not: Herhangi bir rakamla başlayan değişken adı tanımlayamayız.

Bash Değişkenleri Nedir?

Doğru bilgiye sahip olmadan bash değişkenlerini kullanamayız ( sözdizimi, veri türleri, türler, çalışma ) bu konuda, Bash Değişkenlerine uygun bir genel bakış için bu kısa eğitime devam edelim.

İlk önce sözdizimini öğrenin.

Sözdizimi:

 Variable_name=value 

Bash Değişkenlerini Tanımlamak İçin Ayarlanan Kurallar:

  1. Bir değişkeni okurken veya yazdırırken değişken adının önüne dolar ($) işareti koyun.
  2. Herhangi bir değere sahip bir değişken ayarlarken dolar işaretini ($) bırakın.
  3. Değişken adı alfanümerik olabileceği gibi alt çizgi (_) ile de yazılabilir.
  4. Değişken adı büyük/küçük harfe duyarlıdır: x ve X iki farklı değişken olarak kabul edilir.
  5. Değişken ismi isteğe göre UPPER_CASE veya LOWER_CASE harfleriyle ya da her ikisinin karışımıyla yazılabilir.
  6. Bir değişken Bash Komut Dosyasında veya komut satırında herhangi bir yere yerleştirilebilir, çünkü çalışma zamanında Bash onu atanan değerle değiştirecektir. Komutu çalıştırmadan önce değişiklik yapılması nedeniyle mümkün oldu.
  7. Değişken adı ile değeri arasındaki eşittir işaretinin (=) her iki yanında boşluk olmamalıdır. Aşağıda bazı örnekler verilmiştir Geçersiz Değişkenler aşağıda gösterildiği gibi aralarında boşluklar (noktalarla gösterilir ...) bulunur:
    var1=...değişken1
    var2...=değişken2
    var3...=...değişken3
  8. Tek karakter değerine sahip bir değişkeni tanımlamak için tek veya çift tırnak işareti kullanmaya gerek yoktur. var1=değişken . Bir değişkene birden fazla kelime veya String'i tek bir öğe olarak girmek için, ardından içeriğinizi bu değişkene dahil etmek üzere tırnak işaretlerinden yararlanın.
    • Tek Alıntı ('') her karakterin ele alınmasına yardımcı olur.
    • Çift Tırnak (''), değişiklik yapılmasına yardımcı olur.

Veri tipleri

Resmi programlama dillerinde, değişken bildirimi sırasında herhangi bir değişkenin veri tipini tanımlamanız gerekir. Örneğin:

 int year=2012 char comp_name='jtp' 

Ancak Bash durumunda, değişken bildirimi sırasında herhangi bir değişkenin veri tipini tanımlamanız gerekmez. Bash değişkenleri yazılmamış Bu, yalnızca değişkenin değerini atayarak adını yazmanız anlamına gelir; değişken otomatik olarak bu veri türünü dikkate alacaktır.

Öyle ki değişkene herhangi bir sayısal değer atarsanız tamsayı olarak çalışacak, değişkene karakter değeri atarsanız String olacaktır.

 year=2012 comp_name=jtp 

echo komutunu kullanarak isimlerinden önce $ işaretini atayarak okuyun.

yankı $yıl
yankı $isim

Bash Değişken Türleri

Bir kabukta veya herhangi bir UNIX sisteminde iki tür değişken vardır.

  1. Sistem Tanımlı Değişkenler
  2. Kullanıcı Tanımlı Değişkenler

1. Sistem Tanımlı Değişkenler: Bunlar, LINUX işletim sisteminin kendisi tarafından oluşturulduğu ve sürdürüldüğü için önceden tanımlanmış değişkenlerdir. Standart kuralları genellikle büyük harflerle, yani BÜYÜK HARF ile tanımlanmalarıdır. Dolayısıyla, büyük harflerle tanımlanmış bir değişken gördüğünüzde, bunlar büyük olasılıkla sistem tanımlı değişkenlerdir.

Bunlar aşağıda verilen Sistem tanımlı değişkenlerdir:

1. BASH Kabuk Adını temsil eder.

Örnek:

 BASH=/usr/bin/bash 

2.BASH_VERSION Bash'in tuttuğu kabuk sürümünü belirtir.

Örnek:

 BASH_VERSION=4.2.46(2) 

3. SÜTUNLAR numarasını belirtin. ekranımız için sütun sayısı.

Örnek:

 COLUMNS=80 

4. ANA SAYFA kullanıcının ana dizinini belirtir.

Örnek:

 HOME=/home/jatpoint 

5. GÜNLÜK ADI günlüğe kaydetme kullanıcı adını belirtir.

Örnek:

 LOGNAME=javatpoint 

6. OSTİP İşletim sisteminin türünü söyler.

Örnek:

 OSTYPE=linux-gnu 

7. Özürlü geçerli çalışma dizinini temsil eder.

Örnek:

 PWD=/home/javatpoint 

8. KULLANICI ADI şu anda oturum açmış olan kullanıcının adını belirtir.

Örnek:

 USERNAME=javatpoint 

Sisteminizdeki bu değişkenlerin listesini öğrenmek için komutları yazın ayar, env , Ve printenv komut satırı terminalinde aşağıdaki gibi:

1. Yazarak ayarlamak emretmek.

Çıktı:

Bash Değişkenleri

2. Yazarak çevre emretmek

Çıktı:

Bash Değişkenleri

3. Printenv komutunun yazılması

Çıktı:

Bash Değişkenleri

Bu değişkenleri Bash Shell aracılığıyla çağıralım. Verilen adımlar aşağıdadır:

Aşama 1: Bash_sdvar adlı bir komut dosyası oluşturun ve Bash Konsoluna aşağıdaki kodu aşağıdaki gibi yazın:

 #! /bin/bash # Bash System-defined Variables echo $HOME # Home Directory echo $PWD # current working directory echo $BASH # Bash shell name echo $BASH_VERSION # Bash shell Version echo $LOGNAME # Name of the Login User echo $OSTYPE # Type of OS 

Adım 2. Aşağıda verilen Bash Konsoluna bakın:

Bash Değişkenleri

Aşama 3. Komut dosyasını kaydedin ve yürütün. Aşağıdaki şekilde gördüğünüz gibi çıktıyı gösterecektir.

Çıktı:

Bash Değişkenleri

2. Kullanıcı Tanımlı Değişkenler: Bu değişkenler kullanıcı tarafından oluşturulur ve korunur. Genellikle bu tip değişkenler LOWER_CASES içerisinde tanımlanır. Bu değişkenlerin küçük harfle yazılması konusunda kesin bir kural yoktur. Bunları büyük harflerle de yazabiliriz.

Bu değişkenleri tanımlamak için bir Bash Script oluşturalım. Aşağıda verilen adımları izleyin:

Aşama 1. Tarafından adlandırılan bir komut dosyası oluşturun bash_yard ve Bash Konsoluna aşağıdaki kodu yazın:

 #! /bin/bash # User-Defined Variables name=Peter ROLL_NO=5245325 echo 'The student name is $name and his Roll number is $ROLL_NO.' 

Adım 2. Bash Konsolundaki koda bakın.

Bash Değişkenleri

Aşama 3. Komut Dosyasını kaydedin ve yürütün.

Çıktı:

Bash Değişkenleri

Bash Değişkenlerinin Çalışması

Değişkenlerin temel gösterimini yaptıktan sonra, bunların nasıl çalıştıklarını öğrenelim.

Aşağıda verildiği gibi Bash'te bir değişken için genellikle gerçekleştirdiğimiz iki eylem vardır:

  • bir değer ayarlamak bir Değişken için
  • değerin okunması onun için.

Bir değişken değeri farklı şekillerde ayarlanabilir; en yaygın yol, değeri doğrudan ayarlamaktır. Bir değişkeni okumak için, adını ($ işaretiyle önek olarak) kodun herhangi bir yerine yerleştirebiliriz.

Bash ilk önce tüm değişken adlarını sanki kodda varmış gibi kontrol eder. Daha sonra betiğimizin her satırını yorumluyor. Her değişkeni tanımladıktan sonra değişkenin adını kendisine atanan değerle değiştirir. Sonuçta o kod satırını yorumluyor/çalıştırıyor ve betiğimizin kodlanan her satırı için bu işlemi sürdürüyor.

NOT: Bash'teki her iki değişken türü de (tartıştığımız) Bash betiğinde olduğu gibi terminalde de çalışır. Basit bir örnekle terminal ve Bash üzerindeki çalışmalarını görelim:

Örnek: Kullanıcı adını XYZ'ye, şu anda çalıştığı konuma ve Bash Komut Dosyası için kullandığı Bash Shell sürümüne göre çağırın.

1. Terminalde Çalışmak

Bash Değişkenleri

2. Bash Shell'de Çalışmak

Aşağıda verilen Bash_Var adlı betiğe bakın:

Bash Değişkenleri

3'teüçüncüsenaryonun satırı bir değişken tanımladık KULLANICI ADI kullanıcı adını saklamak için XYZ onun değeri olarak.

Son iki satırda kullanarak amaçlanan mesajı yazdırdık. Eko emretmek.

Bu mesajda iki değişken ve bir komut var. Her birinin önünde dolar ($) işareti bulunur; burada:

    KULLANICI ADIkullanıcı adını çağırmak için kullanıcı tanımlı bir değişkendir,BASH_VERSIONkabuğun kendisini çağırdığı sistem tanımlı değişkendir. Bash Shell sürümünü yazdırmak için kullanılır,Özürlükomutu kullanıcının mevcut konumunu yazdırmak için kullanılır.

Daha iyi anlamak için, verilen kodu izleyerek bu betiği oluşturun:

 #! /bin/bash #Bash Variables USER_NAME=XYZ echo Hey there! $USER_NAME is any user currently working on the directory $PWD with Bash Shell Version $BASH_VERSION. 

Aşağıdaki resimde görebileceğiniz gibi çıktıyı gösterecektir:

Çıktı:

Bash Değişkenleri

Hem terminalde hem de Bash Shell'de değişkenleri uygulamaya yönelik birkaç örnek daha var. Aşağıdakileri takip ederek kural seti (daha önce tartışılmıştı) değişkenler üzerinde aşağıdaki gibi bir uygulama yapın:

A. Komut Satırı Terminalini Kullanma

1. Değişkenleri ayarlama

Bash Değişkenleri

2. Değişkenleri okumak ve bunlara referans vermek

Bash Değişkenleri

3. Geçersiz Değişkenler

Bash Değişkenleri

4. İki string değişkenini birleştirmek

Bash Değişkenleri

5. Dizeleri değişkenlerle birleştirmek

Bash Değişkenleri

NOT: İki değişkeni birleştirmek ve ayrıca Dizeleri değişkenlerle birleştirmek için tek tırnak kullanmayın. Öyle ki, String'leri tek tırnak içine alarak birleştirirseniz, aşağıdaki resimde görebileceğiniz gibi, onları okumakta başarısızlık olacaktır:

Bash Değişkenleri

B. Bash Komut Dosyasını Kullanma:

Bunun bir örneği String değişkenlerini birleştirmek.

Bash Değişkenleri

Çıktı:

Bash Değişkenleri

Komut satırı argümanları

Komut Satırı Bağımsız Değişkenleri, girdiyi koda ileterek bir komut dosyasını daha dinamik hale getirmek için kullanılır. Bu argümanları betiğin çalışma zamanında aşağıdaki biçimde iletiriz:

 ./script_name arg1 arg2 arg3..... 

Komut dosyası adı ile tüm geçen bağımsız değişkenler arasında boşluk olmamalıdır.

Komut satırı argümanları nasıl kullanılır?

Bash Kabuğunda, aşağıdaki varsayılan parametrelere veya özel değişkenlere referansla kullanılırlar.

    0$çağrılacak betiğin adını belirtir.1$-9$ilk 9 bağımsız değişkenin adlarını saklar veya bağımsız değişkenlerin konumları olarak kullanılabilir.$#betiğe iletilen bağımsız değişkenlerin toplam sayısını (sayısını) belirtir.$*tüm komut satırı argümanlarını bir araya getirerek saklar.$@bağımsız değişkenlerin listesini bir dizi olarak saklar.$?geçerli betiğin işlem kimliğini belirtir.$$son komutun veya en son yürütme işleminin çıkış durumunu belirtir.$!son arka plan işinin kimliğini gösterir.

Komut satırı argümanlarını iletmek için kullandığımız iki yöntem aşağıdadır:

Yöntem 1: Pozisyon numarasını kullanma

Varsayılan parametreleri (...) kullanarak argümanlara erişmenin ilk yoludur. Aşağıdaki resim bunu açıklıyor:

Bash Değişkenleri

Çıktı:

Bash Değişkenleri

Yöntem 2: Array'i Kullanma.

Argümanları Dizi olarak iletmenin ikinci yoludur. Bu yöntemi uygulamak için verilen algoritmayı izleyin.

Aşama 1: Bir Bash Komut Dosyası oluşturun.

Adım 2: Herhangi bir değişken adını bildirin ve değerini şu şekilde atayın: $a aşağıdaki biçimde:

 variable_name=('$@') 

Nerede $@ argümanları (geçtiğimiz) bir dizi olarak saklamak için kullanılan varsayılan argümandır.

Aşama 3: Argümanları, dizi indekslerini aşağıdaki biçimde tanımlayarak görüntüleyin:

 ${variable_name[i]} 

Adım 4: Komut Dosyasını kaydedip kapatın.

Adım 5: Bağımsız değişkenleri ileterek Komut Dosyasını yürütün.

Aşağıdaki programa bakın:

Programı:

 #!/bin/bash args=('$@') echo ${args[0]} ${args[1]} ${args[2]} ${args[3]} 

Bash Konsolunda:

Bash Değişkenleri

Çıktı:

Bash Değişkenleri

Komut Değiştirme

Bash Resmi Belgelerine göre

'Komut Değiştirme, bir komutun çıktısının, komutun kendisini değiştirmesine olanak tanır. Bash, genişletmeyi, komutu bir alt kabuk ortamında çalıştırarak ve komut değişimini, komutun standart çıktısıyla değiştirerek, sondaki yeni satırları silinerek gerçekleştirir. Gömülü yeni satırlar silinmez, ancak sözcük bölme sırasında kaldırılabilirler.'

Komut ikamesi, Bash'in bizim için gerçekleştirdiği genişletmeyi ifade eder. Bash komutunun çıktısını alır, bir değişkende (genel olarak) saklar ve echo ile geri görüntüler.

Komut Değiştirme Komut dosyası oluşturma ve değişken atama konusunda veri esnekliği sunar. Tek komut satırı çıktısına sahip olmak basit ve kolaydır. Çıktının birkaç satırı aşması durumunda, yeni izleyen satırlar kaldırılır ve çıktının tüm içeriği tek bir satırda biter.

Kullanım için sözdizimine bakın:

Sözdizimi

Bir değişkende veya komut değişiminde komutları değiştirmenin klasik biçimi, aşağıda verildiği gibi ters tırnak işaretleri (`...`) kullanmaktır:

 variable_name=`command_name` variable_name=`command_name [option...] argument1 argument2...` variable_name=`/path/to/command` 

Şimdi, komutları parantez içine alarak (önlerinde dolar işareti ($)) komut ikamesi yapıyoruz. Bir göz atın:

 variable_name=$(command_name) variable_name=$(command_name [option...] argument1 argument2...) variable_name=$(path/to/command) 

O halde tartışmaya uygun bir örnekle komut ikamesi yapalım.

Bu örnekte ls komutunu bir değişkende değiştiriyoruz. Terminale bakın.

Bash Değişkenleri

Satır 1: Komut değişikliği olmadan çıktı birden çok satıra genişletilir.

Satır 2 ve 3: Komut değiştirmeyle çıktı tek satırda sonlandırılır (yeni izlenen satırlar kaldırılarak yerden tasarruf sağlanır).

Komut değiştirmeyi test etmek için Bash Komut Dosyası aşağıdadır.

Programı:

 #! /bin/bash # command substitution lsResult=$(ls) echo 'My files are:' $lsResult 

Bash Konsoluna bakın:

Bash Değişkenleri

Çıktı:

Bash Değişkenleri