Merhaba Dünya (test.sh):
#!/bin/sh
echo "Merhaba Dünya!"
Öncelikle dosyayı kaydettikten sonra
chmod 755 test.sh
komutu ile dosyayı çalıştırılabilir yapıyoruz ve ./test.sh
ile çalıştırıyoruz. Dosya niteliğini #!/bin/sh
satırı ile tanımlıyoruz. Tahmin ettiğiniz gibi echo "Merhaba Dünya!"
satırı ile de ekrana çift tırnak içerisindeki şekliyle yazdırıyoruz.Echo Yöntemleri:
#!/bin/sh
# Yorum satırı!
echo "Merhaba Dünya" # bu satır da yorumdur!
echo "Merhaba Dünya"
echo "Merhaba * Dünya"
echo Merhaba * Dünya
echo Merhaba Dünya
echo "Merhaba" Dünya
echo Merhaba " " Dünya
echo "Merhaba \"*\" Dünya"
echo `merhaba` dünya
echo 'merhaba' dünya
Çalıştırıp ekrana gelecek çıktıyla sanırım bazı detayları daha iyi çözeceksiniz. Burada 4 farklı detay var;
- Çift tırnak (") ve tek tırnek (') içerisinde belirtilen satırlar olduğu görüntü ile ekrana yazdırılır.
- Ters slash (\) kendisinden sonraki karakterin işlevini kaldırır.
- Yıldız (*) karakteri bulunduğu klasördeki dosyaları listeler.
- Ters tırnek (`) içerisindeki karakterleri çalıştırır (Alt GR + ,) veya (Ctrl + Alt + ,) kombinasyonları ile yazılır.
Değişken tanımlama:
#!/bin/sh
DEGISKEN="Değer.."
echo $DEGISKEN
Komut satırında değişken tanımlama (degisken.sh):
#!/bin/sh
echo "Degişken: $DEGISKEN"
DEGISKEN="Değer1"
echo $DEGISKEN
Yukarıdaki satırları
degisken.sh
adıyla kaydedin, chmod'larını ayarlayın ve daha sonra aşağıdaki gibi çalıştırın:$ chmod 755 degisken.sh
$ DEGISKEN="Değer 2"
$ export DEGISKEN
$ ./degisken.sh
Komut satırında tanımlanan
Değer 2
değeri öncelikle ekrana yazdırılacak ve daha sonra degisken.sh
içerisindeki Değer 1
değeri ekrana yazdırılacaktır. Bunun nedeni komut satırında iken önce Değer 2
tanımı yapılıp daha sonra da Değer 1
ile aynı değişkene yeni değer atanmasıdır. Burada export
ile yapılan tanımlamanın RAM'de tutulduğunu degisken.sh
içerisindeki değerin ise dosya çalışmayı bitirdikten sonra silindiğini unutmamalısınız. Ekrana tekrar echo $DEGISKEN
yazdığınız da ilk tanımın hala geçerli olduğunu göreceksiniz.Değişkeni ekrandan almak (sor.sh):
#!/bin/sh
echo "Adınız nedir?"
read ADI
echo "Merhaba $ADI"
echo "Olusturulan dosya ${ADI}_dosya"
touch "${ADI}_dosya"
Burada ise biraz daha etkileşimli bir işlem yaptık. Öncelikle kullanıcının adını sorduk ve girdiği değerin sonuna _dosya ekleyerek bir dosyala kaydettik.
Kopyalama ve Taşıma:
$ cp /tmp/* /etc/tmp/
$ cp /tmp/*.html /etc/tmp/
$ mv /tmp/* /etc/tmp
$ mv /tmp/*.html /etc/tmp/
İlk satır da
cp
(copy) komutuyla /tmp
dizinindeki tüm dosyaları /etc/tmp
dizinine kopyaladık.İkinci satır da
/tmp
dizinindeki tüm html
uzantılı dosyaları /etc/tmp
dizinine kopyaladık. Aynı mantıkla mv
(move) komutuyla önce tüm dosyaları daha sonra da sadece html
uzantılı tüm dosyaları taşıdık.Bugünlük bu kadar başlangıç yeter diye düşünüyorum. Devamını sonraki makalelerimiz de yayınlamaya devam edeceğim.
Kaynak: http://steve-parker.org/sh/sh.shtml
0 yorum:
Yorum Gönder