👨💻Shell Script
Unix işletim sistemlerinin ortak programlama dilidir.
Önemli Bilgiler
sh
uzantılı dosyalara yazılırlarDosyanın ilk satırına shell script olduğunu belli etmesi için
#!/bin/bash
yazılırTerminal üzerinden
bash <dosya>
olarak çalıştırılabilirler
VsCode Eklentileri
Temel Operatörler
-
Son çalışan dizine gitme
~
Home dizini
<komut>; <komut>;
Birden fazla komut işleme (birbirlerini beklemez)
<komut> & <komut>
Birden fazla komut işleme (sırayla işler)
<komut> && <komut>
1. komut çalışırsa 2.'yi işleme
`
`
1. olmazsa 2. komutu işleme
`
`
2. komutu ilk komutun çıktısında çalıştırma (pipeline)
>
Yönlendirme (yoksa oluşturur)
>>
Eklemeli yönlendirme (üzerine yazmaz, ekler)
!$
Bir önce kullanılan değişkeni kullanma
!!
Bir önceki komutu kullanma
Bash Komutu
bash <dosya>
Dosyadaki komutları terminalde gerçekleştirir
bash -c "<komut>"
Verilen komutu terminalde gerçekleştirir
Yazdırma İşlemleri (Echo)
echo "<metin>"
Ekrana metni olduğu gibi basma
echo -e "<metin>"
Ekrana metni formatlı basma (\n \t gibi karakterler çalışır)
echo $<değişken>
Ekrana değişken basma
echo $(<komut>)
Ekrana komut çıktısını basma
echo $(<komut>)' metin '$(<komut>)
Ekrana komut çıktısını ve metni basma
echo "<metin>" > <dosya_yolu>
Verilen metni dosyanın üzerine yazma, yoksa dosyayı oluşturma
echo "<metin>" >> <dosya_yolu>
Verilen metni dosyaya ekleme
sudo bash -c echo "<metin>" > <root_dosya>
Root dosyasının üzerine yazma, yoksa dosyayı oluşturma
<komut> &> /dev/null
Çıktıları gizleme
>
ile yapılan yönlendirme işlemleriecho
tarafından değilshell
tarafından yapılır. Yetki sorunları olursaecho
'ya değilshell
'e yetki verilmelidir.
<metin>
Ekrana basılacak metinÖrn:
yemreak
<değişken>
Linux değişkenleri (ortam değişkenleri vs.)Örn:
PYTHONPATH
,HOME
<komut>
Linux komutlarıÖrn:
pwd
<dosya_yolu>
Metnin yazılacağı dosyanın yoluÖrn:
yemreak.txt
,../yemreak.sh
,~/yemreak.ini
Cat ile Yazdırma İşlemi
Dosyaya EOT gelene kadar yazma
<sonlandırma_metni>
Bu metin geldiğinde yazma işlemini sonlandırırÖrn:
A
olursaYemreAK
yazıldığında sonlanmaz,A
yazıldığında sonlanır.
<dosya_yolu>
Metnin yazılacağı dosyanın yoluÖrn:
yemreak.txt
,../yemreak.sh
,~/yemreak.ini
Değişkenler
Değişkenler kod içerisin
$
ön eki ile kullanılırDeğişkenlere atama yapılırken
=
sonrası ve öncesinde boşluk bırakılmazBoşluk olursa her metni komut gibi işlemeye çalışır ve hata verir
Değişkenlerle aritmatik işlemler
let "<işlem>"
komutuyla yapılırlet "myvar = 5"
çalışırken,mayvar = 5
hata verir
Let komutu hakkında daha fazla bilgi için buraya bakabilirsin.
Kullanıcıdan Girdi (Input) Alma
String İşlemleri
İf-Else Yapısı
Temel açıklamaya buradan erişebilirsin.
For Döngüsü
Temel açıklamaya buradan erişebilirsin.
Terminalde Seçim Yaptırma
Switch - Case Yapısı
Select Yapısı
İç İçe Seçim Yapısı
Terminalde For Döngüsü (For Loop)
Her Dizine For Döngüsü
Alt Dizinler Dahil Değil
Alt Dizinler Dahil
Fonksiyonlar
Fonksiyonların Kullanımı
Temel fonksiyon kaynağı için buraya bakabilirsin.
Parametreler
$1
1. parametre$2
2. parametre$0
Fonksiyonun ismi$@
Tüm parametreler (dizi)
Parametreli Fonksiyonlar
Dosya İşlemleri
Kontrol Bayrakları
Kullanım şekli [ <bayrak> <string> ]
[ -f "$1" ] || {echo "$1 dosyadır"}
-f
Dosya kontrolü (File)
-d
Dizin kontrolü (Directory)
Dosya Okuma
Kaynak için buraya bakabilirsin.
Dosyadan URL ile İndirme
Sıkıştırma (Arşivleme) İşlemleri
Dosya sıkıştırma:
Dizin Sıkıştırma:
Harici Bağlantılar
Last updated
Was this helpful?