👨💻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
Operatör | Açıklama | ||
---|---|---|---|
| Son çalışan dizine gitme | ||
| Home dizini | ||
| Birden fazla komut işleme (birbirlerini beklemez) | ||
| Birden fazla komut işleme (sırayla işler) | ||
| 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
Komut | Açıklama |
---|---|
| Dosyadaki komutları terminalde gerçekleştirir |
| Verilen komutu terminalde gerçekleştirir |
Yazdırma İşlemleri (Echo)
Komut | Açıklama |
---|---|
| Ekrana metni olduğu gibi basma |
| Ekrana metni formatlı basma (\n \t gibi karakterler çalışır) |
| Ekrana değişken basma |
| Ekrana komut çıktısını basma |
| Ekrana komut çıktısını ve metni basma |
| Verilen metni dosyanın üzerine yazma, yoksa dosyayı oluşturma |
| Verilen metni dosyaya ekleme |
| Root dosyasının üzerine yazma, yoksa dosyayı oluşturma |
| Çı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"}
Bayrak | Açıklama |
---|---|
| Dosya kontrolü (File) |
| 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