Hiç Linux'ta "komut dosyası yazmayı" öğrenmek istediniz mi? Düşündüğünden daha kolay hale getir. Bazen betikler (genellikle kabuk veya bash betikleri olarak anılır), içinde karmaşık kod bulunan gerçek programlardır. Diğer zamanlarda, kullanıcıların Linux'ta işlerin daha hızlı ve daha kolay yapılmasını sağlamak için bir araya getirdikleri uzun bir görevler listesidir. İşte Linux'ta kabuk programlama için en iyi başlangıç kılavuzu

Neden bir senaryo hazırlıyorsunuz?
Linux'ta betik oluşturmak çok yararlı bir beceridir. Bazı yinelenen görevleri bash betikleriyle otomatikleştirebilirsiniz. Bunu iyi yaparsanız, sizi çok üretken yapabilir ve daha kısa sürede daha fazlasını elde etmenizi sağlayabilir.
Örneğin: Arch Linux'u sıfırdan oluşturmuş olabilirsiniz. İşletim sistemi, tüm temel paketlerle birlikte kurulur ve işletim sistemi başladığında cihaza önyükleme yapabilir. Arch Linux'un kurulumu zaman alıyor, bu nedenle süreç tamamlanmadı.
Bu noktada, kullanıcı bir Bash betiği yazabilir ve her şeyi bir kerede halledebilir. Bunların hiçbiri programlama veya bu konuda gelişmiş değildir. Bununla birlikte, kullanıcının Arch Linux'un nasıl çalıştığını yeterince anlaması nedeniyle, yapılandırma sonrası sürecin neredeyse tamamını (masaüstü ortamı, sürücüler, kullanıcı kurulumu vb.) Otomatikleştirebilecektir.
Bash programınız için tek sınırlama, Linux ve Bash bilginizdir! Onları oluşturmak sandığınızdan daha kolay.
Başlat
Kod yazarken, şeyler tanımlanmalı ve kaynaklar yüklenmelidir. Kabuk ile programlanırken bazı şeylerin de belirtilmesi gerekir. Bash programlamasında bu, "shebang" olarak bilinir. Betiklerde kullanılan shebang'lar, betiğe hangi derleyici altında yürütülmesi gerektiğini söyler. Bu, Bash veya sisteminizde bulunan herhangi bir betik olabilir. Farklı dillerin kendi dilleri olduğunu unutmayın.
Örneğin: metin yazarken bPython dili , kelime shebang olacak
#!/usr/bin/python
Bash'in kullanılabilecek birçok farklı türde shebang'ı vardır, ancak çoğu kullanıcı muhtemelen yalnızca
#!/bin/bash
Genel bir kural olarak # kullanın! Basit bir komut dosyası yazarken /bin/bash ve onu Linux'tan kaldırmayı planlamayın. Tüm modern Linux dağıtımları aynı bash sürümündedir ve bash kabuğu genellikle aynı yerde bulunur.
Yararlı olduğunu kanıtlayan başka bir konu da
#!/usr/bin/env bash
Taşınabilirlik için tasarlanmıştır ve komut dosyası diğer Unix benzeri işletim sistemlerinde (BSD'ler, macOS, vb.) çalışacak şekilde tasarlanmışsa kullanılmalıdır.
en iyi uygulamalar
Bash'te betik yazmak karmaşık bir süreç olabilir - eğer bunu yazar yaparsa. Çoğu zaman, komut dosyaları yalnızca farklı işlemlerin bir koleksiyonudur. Bir dosya aktarın, bir şey indirin, yazılım yükleyin, vb.
- Bash'in bir sistemdeki dosyaları ve işlemleri işlemek için tasarlanmış bir dil olduğunu unutmayın. Bash ihtiyaçlarınızı karşılıyorsa, sorun değil. Bununla birlikte, gelişmiş programlama için Bash'in gerçekten doğru seçim olmadığını ve Python gibi bir şeye geçmenizin daha iyi olacağını anlayın.
- Plan, komut dosyalarını Linux'tan daha fazlasında kullanmaksa, komut dosyalarınızı "SH" uyumlu ve ".sh" biçiminde yapın. Diğer UNIX benzeri işletim sistemleri "bash benzeri" kabuklara sahip olabilse de, bazılarında hiç bash yoktur ve buna hazırlıklı olmak iyidir.
- Bash kabuğu ve nasıl çalıştığı hakkında bilgi edinin. Metinlerinizi daha iyi yazmanıza yardımcı olacaktır.
- Her zaman Shebang'ı kullanın ve en önemlisi doğru olanı kullanın. İyi bir komut dosyası ile doğru çalışmayan kötü bir komut dosyası arasındaki fark anlamına gelebilir.
- Her süreç hakkında daima yorum yapın. Altı ay içinde, metninize geri dönüp tüm bunların ne anlama geldiğini merak ediyor olabilirsiniz, bu nedenle metnin iyi belgelenmiş ve kolay anlaşılır olması (hem sizin hem de onu görebilecek herkes için) çok önemlidir.
Kodunuzu okunabilir hale getirin. Komut dosyanız karmaşık olmasa bile, yine de mantıklı olmalı ve onu yapmak sandığınızdan daha kolay. - Başkalarına vermeden önce komut dosyasını hatalara karşı test edin. Başkalarının hataları sizin yerinize test etmesine izin vermeyin. İdeal olarak, komut dosyaları insanların kullanması için gönderilmeden önce çalıştırılmalıdır.
Komut dosyası oluştur
Komut dosyası oluşturmaya başlamak için ihtiyacınız olan tek şey bir metin düzenleyicisidir. Herhangi bir basit metin editörü yapacaktır. Karmaşık veya kapsamlı olması gerekmez. Bu örnekte, Gedit editörünü kullanarak basit bir karşılama metni hazırlıyoruz.
Komut dosyasını Gedit'te oluşturun ve açın
Adı olan bir metin oluşturun “selamlar.sh” Ve Gedit düzenleyicisinin içinde açın. Senaryonun bu ilk kısmı, daha önce bahsedildiği gibi, meseledir. Bu, betiğin yorumlayıcıya kodu anlamak için ne kullanması gerektiğini söylemesini sağlar.
#! / Bin / bash
Ardından, bir yorum yazalım. Bu, betiği kullanan herkesin kodun ne anlama geldiğini anlamasını sağlar. # Sembolü yerleştirilerek bir komut dosyasına yorumlar eklenebilir. Bundan sonra hiçbir şey metin tarafından yakalanmaz.
# İlk Linux betiğim
Basit bir selamlama yazdırın
Herhangi bir çıktıyı yazdırmak için bash'ta echo komutunu kullanırız. "Merhaba dünya" yazdırmak istiyorsanız, şöyle görünmelidir:
yankı "Merhaba dünya"
Komut dosyasını yürütülebilir yap
Komut dosyasını çalıştırılabilir yapmak için chmod komutunu kullanırız.
chmod +x tebrikler.sh
+x, komut dosyasına yürütme izni eklemek anlamına gelir. Komut dosyasını çalıştırmak için, komut dosyası adını göreli yolu ile çağırın.
./selamlar.sh
Kullanıcı girişi alma
Kullanıcı girişi almak, bir bash betiğinin temel özelliğidir ve bash'ta değişken kavramına sahip olmanız gerekir. Değişkenler, değerleri saklayabileceğiniz depolama alanı gibidir. Bu durumda, kullanıcının girişini bir bash değişkeninde saklarız. Katkıda bulunmak için kullanıcıya bir soru soruyoruz.
echo -e "Adın ne: "
Bir kullanıcı adını girdiğinde, girdi adı adlı bir bash değişkenini kullanarak girişi okuyabiliriz.
echo -e "Adın ne: " girdi adını oku
İstediğiniz değişken adını kullanabilirsiniz, ancak read komutunu echo komutundan hemen sonra eklediğinizden emin olun.
Karşılama mesajı yazdırın
Depolanan kullanıcı adı, giriş adı değişkenidir. Kullanıcıyı selamlamak için yine echo komutunu kullanıyoruz.
yankı "Günaydın $inputname"
Bir dizge içindeki bir değişkeni temsil etmek için $ işaretini kullanırız. Komut dosyasını kaydedin ve ./greetings.sh komutuyla çalıştırın.

Artık kendi tebriklerinizi yapabilir ve arkadaşlarınızla paylaşabilirsiniz.
Dosya uzantıları
Komut dosyaları için dosya uzantılarında bir fark yoktur. Bir dosyayı “.sh” dosya uzantısı ile adlandırmanın programın çalışma şekli üzerinde fazla bir etkisi yoktur. Dosya uzantısı olmayan bir Bash betiği - boş metin dosyaları ve aradaki her şey, doğru komutlar ve bağımsız değişkenler mevcut olduğu sürece çalışmaya devam eder.
Bash kabuğu dosya uzantılarını yok saysa da bu, komut dosyası yazarının bunu yapması gerektiği anlamına gelmez. Kabuk betiklerini başlangıçta çalışacak şekilde ayarlamanıza izin veren bazı masaüstü ortamları, betiğin doğru ".sh" dosya uzantısına sahip olmasına güvenir. Bu aynı zamanda organizasyon amaçları için de yardımcı olur.
En basitinden, çoğu kabuk betiği taşınabilirlik için ".sh" dosyaları olarak kaydedilir. "sh"nin Bash'in kendisiyle hiçbir ilgisi yoktur ve betik herhangi bir uyumlu kabukla çalıştırılabilir.
Alternatif olarak, betikler .bash, .ksh (Unix korn kabuğu) vb. olarak kaydedilebilir. Bu dosya uzantıları daha düşüktür ve betiğin kullanışlılığını gerçekten sınırlar. Bunun nedeni, yalnızca bu uzantıları kullanan kabuklar için tasarlanmış olmasıdır.
Sık sorulan sorular
S 1. Bash komut dosyası yazmayı öğrenmek kolay mı?
Cevap. Programlama dillerine aşina iseniz, bash programlama oldukça kolay görünecektir. Değişkenler, döngüler vb. gibi aynı programlama kavramlarını paylaşır, ancak programlama hakkında hiçbir şey bilmiyorsanız, Python ile başlamanızı tavsiye ederim. Python'u öğrenmesi çok kolaydır ve onunla betikler de oluşturabilirsiniz.
S2. Bash öğrenmeye değer mi?
Cevap. Günlük olarak Linux kullanıyorsanız veya çalışma ortamınızda Linux kullanıyorsanız, bash komut dosyası oluşturmayı öğrenmelisiniz. Ayrıca günlük görevlerinizi otomatikleştirmek için bash öğrenebilirsiniz. Bunun dışında yazılım geliştirme endüstrisinde Bash için herhangi bir kullanım görmüyorum.
S3.Windows'ta Bash komut dosyası oluşturmayı nasıl öğrenebilirim?
Cevap. Windows'ta bash'ı öğrenmenin yerel bir yolu yoktur, ancak çalıştırmak için Linux için Windows Alt Sistemini (WSL) kullanabilirsiniz. Windows makinenizin içindeki Linux dağıtımı ve bash komutlarını çalıştırmak için kullanın.





