BASH Başlayanlar Kılavuzu - Bölüm 1 - Merhaba Dünya

İnternette, BASH kullanarak Shell betiklerinin nasıl oluşturulacağını gösteren çok sayıda rehber vardır ve bu kılavuz, çok az kabuk betimleme deneyimi olan bir kişi tarafından yazıldığından, biraz farklı bir spin vermeyi amaçlamaktadır.

Şimdi bunun aptalca bir fikir olduğunu düşünebilirsiniz, ancak bazı rehberlerin sizinle konuştuğunu sanki zaten bir uzman ve diğer rehberler peşinden koşmak için çok uzun sürüyor.

LINUX / UNIX kabuk betimleme deneyimlerim sınırlı olsa da, ticari bir yazılım geliştiricisiyim ve PERL, PHP ve VBScript gibi dillerdeki komut dosyalarında elimden geleni yapıyorum.

Bu kılavuzun amacı, öğrendiğim gibi öğreneceğiniz ve aldığım herhangi bir bilgiyi size ileteceğim.

Başlamak

Açıkça, farklı kabuk türlerini ve KSH ve CSH üzerinde BASH kullanmanın avantajlarını tanımlamak gibi hemen size iletebileceğim birçok teori var.

Çoğu insan yeni bir şey öğrenirken zıplamak ve ilk önce bazı pratik derslerle başlamak ister ve aklı başında şu anda önemli olmayan trivia ile sizi sıkmayacağım.

Bu kılavuzu takip etmeniz için gereken tek şey bir metin editörü ve BASH (çoğu Linux dağıtımında varsayılan kabuk) çalıştıran bir terminaldir.

Metin Editörleri

Okuduğum diğer kılavuzlar, komutların renk kodlamasını içeren bir metin editörüne ihtiyaç duyduğunuzu ve önerilen editörlerin VIM veya EMACS olduğunu ileri sürdü.

Renk kodlaması, siz onları yazarken komutları vurgularken güzeldir, fakat mutlak başlangıç ​​için ilk birkaç haftayı, tek bir kod satırı yazmadan VIM ve EMACS'ı öğrenebilirsiniz.

EMACS'ı tercih ederim ama dürüst olmak gerekirse nano , gedit veya leafpad gibi basit bir editör kullanmayı tercih ediyorum.

Eğer kendi bilgisayarınızda betikler yazıyorsanız ve her zaman grafiksel bir ortama erişebileceğinizi biliyorsanız, o zaman sizin için en uygun editörü seçebilir ve ya GEdit veya doğrudan terminalde çalışan bir editör gibi grafiksel olabilirsiniz. nano veya vim gibi.

Bu kılavuzun amaçları doğrultusunda, Linux dağıtımlarının çoğunda yerel olarak kurulu olduğu için nano kullanacağım ve bu yüzden de sizin erişiminiz olacaktır.

Terminal Penceresi Açma

Linux Mint veya Ubuntu gibi bir grafik masaüstü ile Linux dağıtımı kullanıyorsanız, CTRL + ALT + T tuşlarına basarak bir terminal penceresi açabilirsiniz.

Komut Dosyalarınızı Nerede

Bu öğreticinin amaçları için, komut dosyalarınızı ana klasörünüzün altındaki bir klasöre koyabilirsiniz.

Bir terminal penceresi içinde, aşağıdaki komutu yazarak ev dizininizde olduğunuzdan emin olun:

cd ~

CD komutu, değişiklik dizini anlamına gelir ve tilde (~), ana klasörünüz için bir kısayoldur.

Aşağıdaki komutu yazarak doğru yerde olduğunuzu kontrol edebilirsiniz:

pwd

Pwd komutu, mevcut çalışma dizini (dizin ağacında olduğunuz yerde) söyleyecektir. Benim durumumda / home / gary döndü.

Şimdi, betiklerinizi doğrudan ana klasöre koymak istemeyeceğiniz için, aşağıdaki komutu yazarak betikler olarak adlandırılan bir klasör oluşturun.

mkdir komut dosyaları

Aşağıdaki komutu yazarak yeni komut dosyalarına geçin:

cd komut dosyaları

İlk Komutunuz

İlk programın nasıl yapılacağını öğrenirken, "Merhaba Dünya" kelimelerini yazarken öğrenirseniz alışılmış bir durumdur.

Komut dosyaları klasörünüzden aşağıdaki komutu girin:

nano helloworld.sh

Şimdi aşağıdaki kodu nano penceresine giriniz.

#! / bin / bash echo "merhaba dünya"

Dosyayı kaydetmek için CTRL + O tuşlarına ve nano'dan çıkmak için CTRL + X tuşlarına basın.

Komut dosyası şu şekilde oluşturulmuştur:

#! / Bin / bash, yazdığınız tüm komut dosyalarının en üstünde yer almalıdır; çünkü çevirmenler ve işletim sistemi, dosyanın nasıl işleneceğini bilir. Temel olarak, bunu neden yaptığınızı ve neden yaptığınızı unutmayı unutma.

İkinci satırda, hemen takip eden metni çıkaran echo adlı tek bir komut vardır.

Birden fazla kelime görüntülemek istiyorsanız, sözcüklerin etrafında çift tırnak (") kullanmanız gerektiğini unutmayın.

Şimdi komut dosyasını aşağıdaki komutu yazarak çalıştırabilirsiniz:

sh Instagram Hesabındaki Resim ve Videoları helloworld.sh

"Merhaba dünya" kelimeleri görünmelidir.

Komut dosyalarını çalıştırmanın başka bir yolu şöyledir:

./helloworld.sh

Şansınız, eğer o komutu hemen terminalinizde çalıştırırsanız, bir izin hatası alırsınız.

Komut dosyasını bu şekilde çalıştırmak için izin vermek için aşağıdakileri yazın:

sudo chmod + x Instagram Hesabındaki Resim ve Videoları helloworld.sh

Peki orada ne oldu? Neden izinler değiştirmeden sh helloworld.sh dosyasını çalıştırabildiniz ama ./helloworld.sh bir soruna neden oldu?

İlk yöntem, helloworld.sh dosyasını bir girdi olarak alan ve bununla ne yapacağını anlatan bash yorumlayıcısını yükler. Bash yorumlayıcı zaten çalıştırmak için izinlere sahiptir ve sadece komut dosyasındaki komutları çalıştırması gerekir.

İkinci yöntem, işletim sisteminin betik ile ne yapılacağını çalışmasına izin verir ve bu nedenle yürütmek için çalıştırılabilir bir bit gerektirir.

Yukarıdaki betik tamamdı, ancak tırnak işaretlerini görüntülemek istiyorsanız ne olur?

Bunu başarmanın çeşitli yolları vardır. Örneğin tırnak işaretlerinden önce aşağıdaki gibi bir ters eğik çizgi koyabilirsiniz:

echo \ "merhaba dünya \"

Bu çıkış "merhaba dünya" üretecek.

Yine de bir dakika bekleyin, ya "merhaba dünya \" nı görüntülemek istersen?

Peki kaçış karakterlerinden de kaçabilirsiniz

echo \\ "\" merhaba dünya \\ "\"

Bu \ "merhaba dünya \" çıkışını üretecek.

Şimdi ne düşündüğünü biliyorum. Ama ben gerçekten \\ "\" merhaba dünya \\ "\" görüntülemek istiyorum

Tüm bu kaçış karakterleri ile yankı kullanmak oldukça aptalca olabilir. Printf olarak kullanabileceğiniz alternatif bir komut var.

Örneğin:

printf '% s \ n' '\\ "\" merhaba dünya \\ "\"'

Göstermek istediğimiz metnin tek tırnak işaretleri arasında olduğunu unutmayın. Printf komutu metni komut dosyanızdan çıkarır. % S bir dizgeyi göstereceği anlamına gelir, \ n yeni bir satır çıkarır.

özet

Birinci bölümde gerçekten çok fazla yer almadık ama umarım ilk senaryonuz çalışır.

Bir sonraki bölümde, farklı renklerde metin görüntülemek, girdi parametrelerini, değişkenleri kabul etmek ve işlemek ve kodunuzu yorumlamak için merhaba dünya senaryosunda geliştirmeye bakacağız.