Bash’te temel değişkenler

Bash Script Yazmaya Giriş

Alex Scriven

Data Scientist

Değişken atama

Diğer dillere benzer şekilde, eşittir ile değişken atayabilirsiniz.

var1="Moon"

Sonra $ ile referans verilir.

echo $var1
Moon
Bash Script Yazmaya Giriş

Dize değişken atama

Değişkeninizi istediğiniz gibi adlandırın (mantıklı olsun):

firstname='Cynthia'
lastname='Liu'

echo "Hi there" $firstname $lastname
Hi there Cynthia Liu

İki değişken de döndü — güzel!

Bash Script Yazmaya Giriş

$ yazımını kaçırmak

$ yazmayı unutursanız — bu bir değişken değildir!

firstname='Cynthia'
lastname='Liu'
echo "Hi there " firstname lastname
Hi there firstname lastname
Bash Script Yazmaya Giriş

(Yanlış) değişken atama

Bash, değişken oluştururken boşluklara karşı hoşgörüsüzdür. Boşluk eklememeye dikkat ediniz!

var1 = "Moon"
echo $var1
script.sh: line 3: var1: command not found
Bash Script Yazmaya Giriş

Tek, çift tırnak, backtick

Bash’te farklı tırnaklar farklı anlamlara gelir. Hem değişken oluştururken hem yazdırırken.

  • Tek tırnak ('sometext') = Kabuk içeriği olduğu gibi yorumlar
  • Çift tırnak ("sometext") = Kabuk içeriği olduğu gibi yorumlar, ancak $ ve backtick kullanımı hariç

Son yöntem ‘kabuk içinde kabuk’ oluşturur, aşağıda özetlenmiştir. Komut satırı programlarını çağırmak için kullanışlıdır. Bu, backtick ile yapılır.

  • Backtick (`sometext`) = Kabuk komutu çalıştırır ve STDOUT’u değişkene geri yazar
Bash Script Yazmaya Giriş

Farklı değişken oluşturma

Farklı değişken oluşturma türlerinin etkisine bakalım

now_var='NOW'

now_var_singlequote='$now_var' echo $now_var_singlequote
$now_var
now_var_doublequote="$now_var"
echo $now_var_doublequote
NOW
Bash Script Yazmaya Giriş

date programı

Backtick kullanımını göstermek için date programı işe yarar

Bu programın normal çıktısı:

date
Mon  2 Dec 2019 14:07:10 AEDT
Bash Script Yazmaya Giriş

Kabuk içinde kabuk

Şimdi kabuk içinde kabuk kullanalım:

rightnow_doublequote="The date is `date`."
echo $rightnow_doublequote
The date is Mon 2 Dec 2019 14:13:35 AEDT.

date programı çağrıldı, çıktısı yakalanıp echo ile satıra eklendi.

Kabuk içinde kabuk kullandık!

Bash Script Yazmaya Giriş

Parantez vs backtick

Backtick gösterimine eşdeğer bir yöntem vardır:

rightnow_doublequote="The date is `date`."
rightnow_parentheses="The date is $(date)."
echo $rightnow_doublequote
echo $rightnow_parentheses
The date is Mon 2 Dec 2019 14:54:34 AEDT.
The date is Mon 2 Dec 2019 14:54:34 AEDT.

İkisi de aynı çalışır; backtick daha eskidir. Parantez modern kullanımlarda daha yaygındır. (Bkz. http://mywiki.wooledge.org/BashFAQ/082)

Bash Script Yazmaya Giriş

Hadi pratik yapalım!

Bash Script Yazmaya Giriş

Preparing Video For Download...