Bash Script Yazmaya Giriş
Alex Scriven
Data Scientist
Sayılar, R ve Python gibi çoğu REPL'de (konsolda) olduğu gibi kabuğa yerleşik değildir
Python veya R'de şunu yapabilirsiniz:
>>> 1 + 4
5
İstediğiniz sonucu verir!
Sayılar yerel olarak desteklenmez:
(Terminalde)
1 + 4
bash: 1: command not found
expr, (cat veya grep gibi) kullanışlı bir yardımcı programdır
Bu artık (terminalde) çalışır:
expr 1 + 4
5
Güzel!
expr ondalıkları yerel olarak işleyemez:
(Terminalde)
expr 1 + 2.5
expr: not a decimal number: '2.5'
Endişe etmeyin! (Çözüm var)
bc (basic calculator), komut satırı için kullanışlı bir programdır.
Terminalde açıp hesaplama yapabilirsiniz:

Hesaplayıcıyı açmadan bc kullanmak, borulama ile mümkündür:
echo "5 + 7.5" | bc
12.5
bc, ondalık basamak sayısı için scale bağımsız değişkenine de sahiptir.
echo "10 / 3" | bc
3
echo "scale=3; 10 / 3" | bc
Terminalde satırları ayırmak için ; kullanımına dikkat edin
3.333
Sayısal değişkenleri, metin değişkenleri gibi atayabiliriz:
dog_name='Roger' dog_age=6echo "My dog's name is $dog_name and he is $dog_age years old"
dog_age="6" çalışır, ancak onu bir metin yapar!
My dog's name is Roger and he is 6 years old
Sayısal değişkenler için tek parantezli gösterime bir varyant:
expr 5 + 7
echo $((5 + 7))
12
12
Dikkat: Bu yöntem bc değil, expr kullanır (ondalık yok!)
Önceki derste kabuğa nasıl çağrı yaptığımızı hatırlıyor musunuz?
Sayısal değişkenler için çok kullanışlıdır:
model1=87.65 model2=89.20echo "The total score is $(echo "$model1 + $model2" | bc)"echo "The average score is $(echo "($model1 + $model2) / 2" | bc)"
The total score is 176.85
The average score is 88
Bash Script Yazmaya Giriş