30 bash betiği Röportaj soruları ve cevapları

30 Bash Script Interview Questions



Bash komut dosyası oluşturma, temel olarak herhangi bir manuel görevi otomatik hale getirmek için kullanılan çok kullanışlı ve güçlü bir programlama dilidir. Otomasyon testçisi veya bash programcısı olmak isteyen bir iş arayan, mülakatta bazı genel sorularla yüzleşmek zorundadır. Linux'ta farklı türde kabuk komut dosyaları bulunur. Popüler ve en çok kullanılan kabuk betiklerinden biri Bourne Again Shell veya Bash'dir. Bash betik diliyle ilgili 30 önemli mülakat sorusu ve cevabı, işe hazırlanmak için bu makalede açıklanmıştır.

#01. bash betiği nedir?

Bash betiği bir kabuk programlama dilidir. Genel olarak, zaman ve çaba gerektiren her komutu ayrı ayrı yazarak terminalden birçok kabuk komutu çalıştırırız. Aynı komutları tekrar çalıştırmamız gerekirse, tüm komutları tekrar terminalden çalıştırmamız gerekir. Ancak bir bash betiği kullanarak, birçok kabuk komut ifadesini tek bir bash dosyasında saklayabilir ve dosyayı herhangi bir zamanda tek bir komutla çalıştırabiliriz. Sistem yönetimi ile ilgili birçok görev, program kurulumu, disk yedekleme, günlükleri değerlendirme vb. Uygun bash betiği kullanılarak yapılabilir.







#02. Bash betiklerini kullanmanın avantajları nelerdir?

Bash betiğinin aşağıda açıklanan birçok avantajı vardır:



  • Kullanımı ve öğrenmesi kolaydır.
  • Sık çalıştırılması gereken birçok manuel görev, bir bash betiği yazılarak otomatik olarak yapılabilir.
  • Birden çok kabuk komutunun sırası, tek bir komutla yürütülebilir.
  • Bir Linux işletim sisteminde yazılan Bash betiği, başka bir Linux işletim sisteminde kolaylıkla çalıştırılabilir. Yani taşınabilir.
  • Bash'de hata ayıklama, diğer programlama dillerinden daha kolaydır.
  • Terminalde kullanılan komut satırı sözdizimi ve komutlar, bash betiğinde kullanılan komutlara ve sözdizimine benzer.
  • Bash betiği, diğer betik dosyalarıyla bağlantı kurmak için kullanılabilir.

#03. Bash betiklerinin dezavantajlarından bahsedin

Bash betiğinin bazı dezavantajları aşağıda belirtilmiştir:



  • Diğer dillere göre daha yavaş çalışır.
  • Uygun olmayan komut dosyası tüm sürece zarar verebilir ve karmaşık bir hata oluşturabilir.
  • Büyük ve karmaşık bir uygulama geliştirmek için uygun değildir.
  • Diğer standart programlama dillerine göre daha az veri yapısı içerir.

#04. Bash'de ne tür değişkenler kullanılır?

Bash betiğinde iki tür değişken kullanılabilir. Bunlar:

Sistem değişkenleri
Linux işletim sistemi tarafından önceden tanımlanmış ve bakımı yapılan değişkenlere sistem değişkenleri denir. Bu tür değişkenler her zaman büyük harfle kullanılır. Bu değişkenlerin varsayılan değerleri gereksinimlere göre değiştirilebilir.

'ayar', 'env' ve ` printenv ` komutları, sistem değişkenlerinin listesini yazdırmak için kullanılabilir.

Örnek:





#!/bin/bash
# Sistem Değişkenlerini Yazdırma

#Bash kabuk adını yazdır
dışarı attı $BASH

# Bash kabuğu Versiyonunu Yazdır
dışarı attı $BASH_VERSION

# Ana dizin adını yazdır
dışarı attı $EV

Kullanıcı tanımlı değişken

Kullanıcılar tarafından oluşturulan ve bakımı yapılan değişkenlere kullanıcı tanımlı değişkenler denir. Bunlara yerel değişkenler de denir. Bu tür değişkenler küçük harf veya büyük harf veya hem büyük hem küçük harf kullanılarak bildirilebilir. Ancak değişkenleri sistem değişkenlerinden ayırt etmek için tamamı büyük harf kullanmaktan kaçınmak daha iyidir.
Örnek:

#!/bin/bash

birde=100
dışarı attı $sayı

#05. Bash'de değişkenler nasıl bildirilir ve silinir?

Değişken, bash'ta veri türüne göre veya veri türü olmadan bildirilebilir. Herhangi bir bash değişkeni olmadan bildirilirse bildirmek komutu, ardından değişken bir dize olarak ele alınacaktır. Bash değişkeni ile bildirildi bildirmek zaman bildiriminde değişkenin veri türünü tanımlama komutu.



-r , -i, -a, -A, -l, -u, -t ve -X seçenekleri ile kullanılabilir bildirmek Farklı veri türlerine sahip bir değişken bildirmek için komut.

Örnek:

#!/bin/bash

#Herhangi bir tür olmadan değişken bildir
birde=10

#Değerler birleştirilecek ancak eklenmeyecek
sonuç=$sayı+yirmi
dışarı attı $sonuç

#Tamsayı tipinde bir değişken bildir
bildirmek -ben birde=10

#Değerler eklenecek
bildirmek -ben sonuç=sayı+yirmi
dışarı attı $sonuç

ayarsız komutu, herhangi bir bash değişkenini kaldırmak için kullanılır. Değişken kullanıldıktan sonra erişilemez veya tanımsız olacaktır. ayarsız emretmek.

Örnek:

#!/bin/bash

P='Linux İpucu'
dışarı attı $ str
ayarsız $ str
dışarı attı $ str

#06. Bir bash betiğine nasıl yorum eklenir?

Bash betiğinde tek satırlı ve çok satırlı yorumlar kullanılabilir. ' # ' sembolü tek satırlık yorum için kullanılır. '<<’ sınırlayıcılı sembol ve ':' tekli (') çok satırlı yorum eklemek için kullanılır.

Örnek:

#!/bin/bash
#[Tek satırlık yorum] metnini yazdır
dışarı attı 'Bash Programlama'
< toplamı hesapla
İki sayıdan [çok satırlı yorum]
yorum ekle

birde=25+35
dışarı attı $sayı
:'
İki birleştir
Dize verileri [çok satırlı yorum]
'

Sicim='Merhaba'
dışarı attı $dize' Dünya'

#07. Bir bash betiğinde dizeleri nasıl birleştirebilirsiniz?

Dize değerleri bash içinde farklı şekillerde birleştirilebilir. Normalde, dize değerleri bir araya getirilerek birleştirilir, ancak bash'de dize verilerini birleştirmenin başka yolları da vardır.

Örnek:

#!/bin/bash
#Değişkenleri başlat
str1='PHP'
str2='Bıçak'
str3='Perl'

# Dizeyi boşlukla birlikte yazdır
dışarı attı $str1 $str2 $str3

#Tüm değişkenleri birleştir ve başka bir değişkende sakla
P='$str1,$str2ve$str3'

#Diğer dize verilerini dizenin mevcut değeriyle birleştir
str + ='betik dilleri'

#Dizeyi yazdır
dışarı attı $ str

#08. Bash'de çıktı yazdırmak için hangi komutlar kullanılır?

'yankı' ve 'baskı' çıktıları bash olarak yazdırmak için komutlar kullanılabilir. 'yankı ` komutu basit çıktıyı yazdırmak için kullanılır ve 'baskı' komut, biçimlendirilmiş çıktıyı yazdırmak için kullanılır.

Örnek:

#!/bin/bash

#Metni yazdır
dışarı attı 'LinuxHint'e Hoş Geldiniz'
alan='linuxhint.com'
#Biçimlendirilmiş metni yazdır
baskı '%s popüler bir blog sitesidir ' $site

#09. Bash'de terminalden girdi nasıl alınır?

'oku' komut, bir bash betiğinde terminalden girdi almak için kullanılır.

Örnek:

#!/bin/bash
#Mesajı yazdır
dışarı attı 'Adınızı giriniz'
#Kullanıcıdan girdi al
okumanisim
# $name değerini diğer dizeyle yazdır
dışarı attı 'Senin adın$isim'

#10. Bash'de komut satırı argümanları nasıl kullanılır?

Komut satırı argümanları tarafından okunur $1, $2, $3…$n değişkenler. Bash betiği yürütülürken terminalde komut satırı bağımsız değişken değerleri sağlanır. 1 dolar ilk argümanı okumak için kullanılır, 2 dolar ikinci argümanı okumak için kullanılır vb.

Örnek:

#!/bin/bash
#Herhangi bir argümanın sağlanıp sağlanmadığını kontrol edin
Eğer [[ $ # -eq 0 ]];sonra
dışarı attı 'Hiçbir argüman verilmez.'
çıkış 0
olmak
#İlk argüman değerini sakla
renk=1 dolar
# Argümanı diğer dizeyle yazdır
baskı 'En sevdiğin renk %s ' $ renk

#11. bash zayıf yazılmış bir dil mi? Niye ya?

Evet, bash, değişken bildirimi sırasında verilerin türünü bildirmeyi gerektirmediğinden zayıf veya gevşek yazılmış bir dil olarak kabul edilir. Tüm bash değişkenleri varsayılan olarak bir dize olarak kabul edilir ve değişkenin türü geçerli değere göre belirlenir. Veri türlerine sahip Bash değişkenleri kullanılarak tanımlanabilir bildirmek belirli bir seçenekle komut verin. Ancak veri türlerini tanımlama seçenekleri sınırlıdır ve tüm veri türlerini desteklemez. Örneğin, batmadan yüzmek veri türü kullanılarak bildirilemez bildirmek emretmek.

Örnek:

#!/bin/bash

#$myVar veri türü varsayılan olarak dizedir
myVar=29

# Değişkeni yazdır
dışarı attı $myVar

# $number tamsayı değişkenini 67 değeriyle bildirin
bildirmek -ben sayı=67

#Değişkeni yazdır
dışarı attı $sayı

# Sayısal değişkene dize verisi atayın. Aşağıdaki satır üretecek
# sözdizimi hatası ve $sayı değeri değişmeyecek
sayı='Bash'ı severim'
dışarı attı $sayı

#12. Bir dosyanın her satırından ikinci kelime veya sütun nasıl okunur?

Bir dosyanın ikinci sözcüğü veya sütunu, 'awk', 'sed' vb. gibi farklı bash komutları kullanılarak bir bash betiğinde kolayca okunabilir. 'awk' aşağıdaki örnekte gösterilmiştir.
Örnek: Course.txt dosyasının aşağıdaki içeriği içerdiğini ve bu dosyanın her satırının sadece ikinci kelimesini yazdırdığımızı varsayalım.

CSE201 Java Programlama
CSE303 Veri Yapısı
CSE408 Unix Programlama#!/bin/bash
# Aşağıdaki komut dosyası, Course.txt dosyasından her satırın ikinci kelimesini yazdıracaktır.
# cat komutunun çıktısı ikinci kelimeyi okuyacak olan awk komutuna geçecektir.
Her satırın #.
dışarı attı ``kedikurs.txt| awk '{2$ yazdır}'``

#13. Bash'de bir dizi değişkeni nasıl bildirilir ve bu değişkene nasıl erişilir?

Hem sayısal hem de ilişkisel diziler bir bash betiği tarafından desteklenir. Bir dizi değişkeni, bildirme komutuyla veya bu komut olmadan bildirilebilir. -ile seçenek, sayısal bir dizi tanımlamak için beyan komutuyla birlikte kullanılır ve -İLE seçenek, bash'ta bir ilişkisel dizi tanımlamak için beyan deyimiyle birlikte kullanılır. Beyan komutu olmadan, sayısal dizi yalnızca bash ile tanımlanabilir.

Örnek:

#!/bin/bash

# Basit bir sayısal dizi tanımlayın
dizi1=(CodeIgniter Laravel ReactJS)

# $dizi1'in ilk eleman değerini yazdır
dışarı attı $ {arr1 [0] {

# deklare komutunu kullanarak sayısal bir dizi bildirin
bildirmek -ile dizi2=(HTML CSS JavaScript'i)

# $dizi2'nin ikinci eleman değerini yazdır
dışarı attı ${arr2[1]}

# deklarasyon deyimini kullanarak bir ilişkisel dizi bildirin
bildirmek -İLE dizi3=( [çerçeve]= laravel[İYS]=Wordpress[Kütüphane]=JQuery)

# $dizi3'ün üçüncü eleman değerini yazdır
dışarı attı ${arr3[Kütüphane]}

Bir dizinin tüm elemanlarına, dizi indeksi olarak herhangi bir döngü veya '*' sembolü kullanılarak erişilebilir.

#14. Koşullu ifadeler bash'ta nasıl kullanılabilir?

Çoğu programlama dilinde en yaygın koşullu ifade şudur: if-elseif-else Beyan. sözdizimi if-elseif-else bash deyimi diğer programlama dillerinden biraz farklıdır. 'Eğer' deyim bir bash betiğinde iki şekilde bildirilebilir ve her tür 'Eğer' blok ile kapatılmalıdır 'olmak' . 'Eğer' deyim, diğer programlama dilleri gibi üçüncü parantezler veya ilk parantezler ile tanımlanabilir.

Sözdizimi:
İLE.

Eğer [şart];
sonra
ifadeler
olmak

B.

Eğer [şart];sonra
ifadeler1
Başka
Beyan2
olmak

C.

Eğer [şart];sonra
Beyan1
elif[şart];sonra
Beyan2
….
Başka
ifade n
olmak

Örnek:

#!/bin/bash

# $n'a bir değer atayın
n=30
# $n'nin 100'den büyük olup olmadığını kontrol edin
Eğer [ $n -gt 100 ];sonra
dışarı attı '$n100'den az
# $n id'nin 50'den büyük olup olmadığını kontrol edin
elif [ $n -gt elli ];sonra
dışarı attı '$n50'den az
Başka
dışarı attı '$n50'den az
olmak

#15. Bash'deki değerler nasıl karşılaştırılır?

Değerleri karşılaştırmak için bash'ta altı tür karşılaştırma operatörü kullanılabilir. Veri türüne bağlı olarak bu operatörleri bash'ta kullanmanın iki yolu vardır. Bunlar aşağıda belirtilmiştir.

Dizi Karşılaştırma Tamsayı Comarison Açıklama
== -eq Eşitliği kontrol etmek için kullanılır
! = -doğmak Eşitsizliği kontrol etmek için kullanılır
< -lt İlk değerin ikinci değerden küçük olup olmadığını kontrol etmek için kullanılır.
> -gt İlk değerin ikinci değerden büyük olup olmadığını kontrol etmek için kullanılır.
<= -NS İlk değerin ikinci değerden küçük veya ona eşit olup olmadığını kontrol etmek için kullanılır.
> = -vermek İlk değerin ikinci değerden büyük veya ona eşit olup olmadığını kontrol etmek için kullanılır.

Örnek:

#!/bin/bash
# $n'ı başlat
n=130
veya='hatta'
# $n'nin 100'den büyük veya 100'e eşit olduğunu veya “–ge” kullanılmadığını kontrol edin.
Eğer [ $n -vermek 100 ];sonra
dışarı attı '$n100'den büyük veya eşittir
Başka
dışarı attı '$n100'den az
olmak
# '==' operatörünü kullanarak $n'nin çift mi yoksa tek mi olduğunu kontrol edin
Eğer (( $ o=='hatta' ));sonra
dışarı attı 'Sayı eşit'
Başka
dışarı attı 'Sayı garip'
olmak

#16. Bash'deki if-elseif-else ifadelerine alternatif olarak hangi koşullu ifade kullanılabilir?

'durum' ifadesi alternatif bir tp olarak kullanılabilir if-elseif-if Beyan. sözdizimi 'durum' bash betiklerindeki deyim aşağıdakilerden farklıdır yer değiştir diğer programlama dillerinin ifadesi. 'durum' blok tarafından kapatıldı 'esac' bash'deki ifade. Numara ' kırmak ' deyimi içinde kullanılır' durum ' bloktan sonlandırmak için blok.

Sözdizimi:

durum içinde
Maç deseni1)komutlar;;
Maç deseni2)komutlar;;
……
Maç deseni n)komutlar;;
esac

Örnek:

#!/bin/bash
#$ticket değişkenini başlat
bilet=101
# $bilet değerini 23, 101 ve 503 ile karşılaştırın
durum $bilet içinde
2. 3)
# Değer 23 ise mesajı yazdır
dışarı attı 'Birincilik ödülünü aldın';;
101)
# Değer 101 ise mesajı yazdır
dışarı attı 'İkinci ödülü aldınız';;
503)
# Değer 503 ise mesajı yazdır
dışarı attı 'Üçüncülük ödülünü aldın';;
*)
# Değer 23, 101 ve 503 ile eşleşmiyorsa mesajı yazdır
dışarı attı 'Üzgünüm, bir dahaki sefere deneyin'
çıkış 0;;
esac

#17. Bash'de hangi farklı döngü türleri kullanılabilir?

Bir bash betiği tarafından üç tür döngü desteklenir. Bunlar süre, için ve a kadar döngüler. Bash'deki döngüler, döngünün başlangıcındaki durumu kontrol eder. Süre döngü, koşul doğru kalana kadar çalışır ve a kadar döngü, koşul yanlış kalana kadar çalışır. kullanmanın iki yolu var için döngü. Biri genel için üç parça içeren döngü ve diğeri için döngü. Bu üç döngünün kullanımları aşağıdaki örnekte gösterilmiştir.

Örnek:

#!/bin/bash
# $n'ı başlat
n=5
# while döngüsünü kullanarak 5-1'in karesini hesaplayın
süre [ $n -gt 0 ]
yapmak
kare= $((n*n))
dışarı attı 'Meydanı$nNS$sqr'
((n--))
tamamlamak

# For döngüsünü kullanarak 5-1'in karesini hesaplayın
için (( ben=5; ben>0; ben--))
yapmak
kare= $((ben*ben))
dışarı attı 'Meydanı$ benNS$sqr'
tamamlamak

# $x'i başlat
x=5

# Kademe döngüsü kullanarak 5-1'in karesini hesaplayın
a kadar [ x $ -NS 0 ]
yapmak
kare= $((x*x))
dışarı attı 'Meydanıx $NS$sqr'
((x--))
tamamlamak

#18. Bash'de altyordamlar nasıl bildirilebilir ve çağrılabilir?

Bash'ta bir işlev veya prosedüre alt program denir. Bash'de bir altyordamın bildirilmesi ve çağrılması diğer dillerden farklıdır. Diğer standart programlama dillerinden farklı olarak alt programlarda hiçbir argüman bildirilemez. Ancak yerel değişkenler, alt program içinde aşağıdakiler kullanılarak tanımlanabilir: 'yerel' anahtar kelime.

Örnek:

#!/bin/bash
# Global olan $x ve $y değişkenini başlat
x=10
ve=35

# Fonksiyonu bildir
myFunc() {
# $x yerel değişkenini bildir
yerel x=on beş

# $y global değişkenini yeniden atayın
ve=25

# $x ve $y toplamını hesaplayın
İle birlikte= $((x + y))

# Yerel değişken $x ve global değişken $y'nin toplamını yazdırın
dışarı attı 'Toplamıx $ve$ yeşittir$ z'
}

# Fonksiyonu çağır
myFunc

# Global değişkenlerin toplamını yazdırın, $x ve $y
dışarı attı 'Toplamıx $ve$ yeşittir$ z'

#19. Bash'de bir dize verisinin bir kısmı nasıl kesilir ve yazdırılır?

Bash, dize verilerinin bir kısmını kesmek için diğer diller gibi yerleşik bir işleve sahip değildir. Ancak parametre genişletmeyi kullanarak herhangi bir dize değeri bash'de kesilebilir. Dize verilerinin herhangi bir bölümünü kesmek için iki nokta üst üste ile ayırarak parametre genişletmede üç bölüm tanımlanabilir. Burada ilk iki kısım zorunludur ve son kısım isteğe bağlıdır. İlk kısım kesmek için kullanılacak ana ip değişkenini içerir, ikinci kısım ipin kesileceği başlangıç ​​pozisyonu ve üçüncü kısım kesme ipinin uzunluğudur. Kesme değerini almak için başlangıç ​​konumu 0'dan ve uzunluk ana dizenin 1'inden sayılmalıdır.

Örnek:

#!/bin/bash
# Bir dize değerini $string olarak başlat
sicim='Python Komut Dosyası Dili'
# Dize değerini 7 konumundan dizenin sonuna kadar kesin
dışarı attı ${dize:7}
# 9 karakterlik string değerini 7 konumundan kesin
dışarı attı ${dize:7:9}
# Dize değerini 17'den 20'ye kesin
dışarı attı ${dize:17:-4}

#20. Bash'de aritmetik işlemleri gerçekleştirmenin bazı yollarından bahseder misiniz?

Bash'de aritmetik işlemler birden çok şekilde yapılabilir. 'let', 'ifade', 'bc' ve çift ​​parantez bash'ta aritmetik işlemleri gerçekleştirmenin en yaygın yollarıdır. Bu komutların kullanımları aşağıdaki örnekte gösterilmiştir.

Örnek:

#!/bin/bash
# İfade ve parametre genişletmeyi kullanarak çıkarmayı hesaplama
var1= $( ifade 120-100 )
# sonucu yazdır
dışarı attı $ var1
# let komutunu kullanarak toplamayı hesaplayın
İzin Vermek var2=200+300
# Sonucu yazdır
dışarı attı $var2
# Sonucu elde etmek için 'bc' kullanarak bölme değerini hesaplayın ve yazdırın
# kesirli değerle
dışarı attı 'ölçek=2; 44/7' | M.Ö
# Çift parantez kullanarak çarpmanın değerini hesaplayın
var3= $(( 5*3 ))
# Sonucu yazdır
dışarı attı $var3

#21. Bash kullanarak bir dizinin var olup olmadığını nasıl kontrol edebilirim?

Bash, bir dosya veya dizinin var olup olmadığını ve dosyanın türünü kontrol etmek için birçok test komutuna sahiptir. '-NS' seçeneği, dizinin bash'ta var olup olmadığını kontrol etmek için koşullu bir ifade olarak bir dizin yolu ile birlikte kullanılır. Dizin varsa, true değerini döndürür, aksi takdirde false değerini döndürür.

Örnek:

#!/bin/bash
# Dizini $path değişkeninde path ile atayın
yol='/home/ubuntu/temp'
# Dizinin var olup olmadığını kontrol edin
Eğer [ -NS '$yol' ];sonra
# Dizin varsa mesajı yazdır
dışarı attı 'Dizin var'
Başka
# Dizin yoksa mesajı yazdır
dışarı attı 'Dizin mevcut değil'
olmak

# 22. Bir bash betiği, tüm ifadeler yürütülmeden nasıl sonlandırılabilir?

kullanma 'çıkış' komut, bir bash betiği, tüm ifadeler yürütülmeden sonlandırılabilir. Aşağıdaki komut dosyası, belirli bir dosyanın var olup olmadığını kontrol edecektir. Dosya varsa, dosyanın toplam karakterlerini yazdıracak ve dosya yoksa, bir mesaj göstererek komut dosyasını sonlandıracaktır.

Örnek:

#!/bin/bash

# Dosya adını $filename değişkenine sıfırlayın
dosya adı='ders.txt'

# -f seçeneğini kullanarak dosyanın var olup olmadığını kontrol edin
Eğer [ -F '$dosya adı' ];sonra
# Dosya varsa mesajı yazdır
dışarı attı '$dosya adıvar'
Başka
# Dosya yoksa mesajı yazdır
dışarı attı '$dosya adıyok'
# Komut dosyasını sonlandır
çıkış 1
olmak

# Dosya varsa, dosyanın uzunluğunu sayın
uzunluk=``tuvalet -C $dosya adı``

# Dosyanın uzunluğunu yazdırın
dışarı attı 'Toplam karakter -$ uzunluk'

#23. Bash'ta break ve Continue ifadelerinin kullanımları nelerdir?

kırmak ifadesi, bir koşula dayalı olarak tam yinelemeyi tamamlamadan bir döngüden sonlandırmak için kullanılır ve devam et deyim, bir koşula dayalı olarak bazı deyimleri atlamak için bir döngüde kullanılır. kullanımları kırmak ve devam et ifadeler aşağıdaki örnekte açıklanmıştır.

Örnek:

#!/bin/bash
# Döngüyü başlatmak için $i değişkenini 0'a sıfırlayın
ben=0
# döngü fot 10 kez yinelenecek
süre [ $ ben -NS 10 ]
yapmak
# $i değerini 1 artır
((ben++))
# $i değeri 8'e eşitse, 'break' ifadesini kullanarak döngüyü sonlandırın
Eğer [ $ ben -eq 8 ];sonra
kırmak;
olmak
# $i'nin değeri 6'dan büyükse, döngünün son ifadesini atlayın
# devam deyimini kullanarak
Eğer [ $ ben -vermek 6 ];sonra
devam et;
olmak
dışarı attı 'i'nin şu anki değeri =$ ben'
tamamlamak

# Döngüden çıktıktan sonra $i değerini yazdır
dışarı attı 'Şimdi i'nin değeri =$ ben'

#24. Bir bash dosyası nasıl çalıştırılabilir hale getirilir?

Yürütülebilir bash dosyaları kullanılarak yapılabilir 'chmod' emretmek. Yürütülebilir izin kullanılarak ayarlanabilir '+X' içinde chmod komut dosyası adı ile komut. Bash dosyaları açık olmadan yürütülebilir 'bash' bu dosya için yürütme bitini ayarladıktan sonra komut.

Örnek:

# Yürütme bitini ayarla
$chmod+ x dosyaadı.sh

# Yürütülebilir dosyayı çalıştırın
$./dosyaadi.sh

#25. Dosyaları test etmek için kullanılan bazı seçeneklerden bahsedin

Dosyayı test etmek için bash'ta birçok seçenek mevcuttur. Bazı seçenekler aşağıda belirtilmiştir.

Seçenek Açıklama
-F Dosyanın var olduğunu test etmek için kullanılır ve normal bir dosyadır.
-Ve Yalnızca dosyanın var olduğunu test etmek için kullanılır.
-r Dosyanın var olduğunu test etmek için kullanılır ve okuma izni vardır.
-içinde Dosyanın var olduğunu test etmek için kullanılır ve yazma izni gerekir.
-x Dosyanın var olduğunu test etmek için kullanılır ve yürütme iznine sahiptir.
-NS Dizinin varlığını test etmek için kullanılır.
-NS Dosyanın var olduğunu test etmek için kullanılır ve sembolik bir bağlantıdır.
-S Dosyanın var olduğunu test etmek için kullanılır ve bir sokettir.
-B Dosyanın bir blok aygıtı olup olmadığını test etmek için kullanılır.
-s Dosyanın sıfır boyutta olmadığını kontrol etmek için kullanılır.
-Örneğin İlk dosyanın içeriğinin ikinci dosyadan daha yeni olup olmadığını kontrol etmek için kullanılır. Örneğin, dosya1 -nt dosya2, dosya1'in dosya2'den daha yeni olduğunu gösterir.
-ot İlk dosyanın içeriğinin ikinci dosyadan daha eski olup olmadığını kontrol etmek için kullanılır. Örneğin, dosya1 -ot dosya2, dosya1'in dosya2'den daha eski olduğunu gösterir.
-ef İki sabit bağlantının aynı dosyaya atıfta bulunup bulunmadığını kontrol etmek için kullanılır. Örneğin, flink1 -ef flink2, flink1 ve flink2'nin sabit bağlantılar olduğunu ve her ikisinin de aynı dosyaya atıfta bulunduğunu belirtir.

#26. 'Bc' ile ne kastedilmektedir ve bu komut bash'ta nasıl kullanılabilir?

'bc' tam biçimidir Bash Hesaplayıcı bash'ta aritmetik işlemleri daha doğru yapmak için. Bash kullanılarak herhangi bir aritmetik işlem yapılırsa, kesirli kısım atlanır. 'İfade' emretmek. Kesirli kısım kullanılarak da yuvarlatılabilir ölçek ile değer 'M.Ö' emretmek.

Örnek:

#!/bin/bash
# Kesirli değer olmadan bölmeyi hesaplayın
dışarı attı '39 / 7' | M.Ö

# Tam kesirli değerle bölmeyi hesaplayın
dışarı attı '39 / 7' | M.Ö -NS

# Ondalık noktadan sonraki üç basamaklı bölmeyi hesaplayın
dışarı attı 'ölçek=3; 39/7' | M.Ö

# 27. Bash'de bir dosyanın belirli bir satırını nasıl yazdırabilirsiniz?

Bash'de belirli bir satırı yazdırmanın birçok yolu vardır. Nasıl 'awk', 'sed' ve 'kuyruk' komutları, aşağıdaki örnekte bash'ta bir dosyanın belirli bir satırını yazdırmak için kullanılabilir.

Örnek:

#!/bin/bash

# NR değişkeni ile `awk` komutunu kullanarak dosyadan ilk satırı okuyun ve kaydedin
satır 1=``awk '{if(NR==1) $0 yazdır}'kurs.txt``
# Satırı yazdır
dışarı attı $satır1

# -n seçeneği ile `sed` komutunu kullanarak dosyadan ikinci satırı okuyun
hat 2=``sed -n2p ders.txt``
# Satırı yazdır
dışarı attı $satır2

# -n seçeneği ile `tail` komutunu kullanarak dosyadan son satırı okuyun
satır3=``kuyruk -n 1kurs.txt``
# Dosyayı yazdır
dışarı attı $satır3

#28. IFS nedir?

IFS özel bir kabuk değişkenidir. tam formu IFS Dahili Alan Ayırıcıdır,
kelimeyi metin satırından ayırmak için sınırlayıcı görevi görür. Esas olarak bir dizeyi bölmek, bir komutu okumak, metni değiştirmek vb. için kullanılır.

Örnek:

#!/bin/bash
# Metni bölmek için sınırlayıcı olarak ':' bildir
IFS=':'
# Metin verilerini ':' ile $metne atayın
Metin='Kırmızı yeşil mavi'
# for döngüsü, metni IFS'ye göre böldükten sonra her kelimeyi okuyacaktır
içinsaatiçinde $metin;yapmak
# Kelimeyi yazdır
dışarı attı $ saat
tamamlamak

#29. Bir dize verisinin uzunluğu nasıl bulunur?

'ifade', 'wc' ve 'Awk' komutlar, bash'ta bir dize verisinin uzunluğunu bulmak için kullanılabilir. 'İfade' ve 'Awk' komut kullanımı uzunluk seçenek, 'Tuvalet' komut kullanır '-C' dizenin uzunluğunu sayma seçeneği.

Örnek:

Yukarıdaki komutların kullanımları aşağıdaki komut dosyasında gösterilmiştir.

#!/bin/bash
# `expr` uzunluk seçeneğini kullanarak uzunluğu sayın
dışarı attı ``ifadeuzunluk'PHP'yi seviyorum'``
# `wc` komutunu kullanarak uzunluğu sayın
dışarı attı 'Bash'i seviyorum' | tuvalet -C
# `awk` komutunu kullanarak uzunluğu sayın
dışarı attı 'Python'u seviyorum' | awk '{baskı uzunluğu}'

#30. Birden çok bash betiği paralel olarak nasıl çalıştırılır?

Birden çok bash betiği kullanılarak paralel olarak yürütülebilir nohup emretmek. Aşağıdaki örnekte, bir klasörden birden çok bash dosyasının paralel olarak nasıl yürütülebileceği gösterilmiştir.

Örnek:

# $dir değişkenindeki yolu içeren bir klasör adı atayın.
# çoklu bash dosyaları
sana='ev/Ubuntu/temp'

# for döngüsü, dizindeki her dosyayı okuyacak ve paralel olarak çalıştıracaktır.
içinsenaryoiçindesana/ *.NS
yapmak
nohup bash '$komut dosyası' &
tamamlamak

Çözüm:

Bash programcısı olarak kariyere başlamak isteyen okuyucular için en temel bash betiği mülakat soruları bu makalede açıklanmıştır.