Tutorial Bash Scripting untuk Pemula

Bash Scripting Tutorial



Bahasa perintah default Linux adalah skrip Bash. Kita perlu menjalankan banyak perintah di Linux setiap hari untuk berbagai tujuan. Tugas harian ini dapat diotomatisasi dengan menggunakan skrip bash. Setiap pengguna dapat mempelajari bahasa scripting ini dengan sangat mudah dan cepat. Jika Anda baru dalam pemrograman bash maka tutorial ini cocok untuk Anda.

Isi:

  1. Komentar
  2. perintah gema
  3. Variabel
  4. Pernyataan bersyarat
  5. Loop
  6. Fungsi
  7. Memanggil program dalam skrip
  8. Membuat Menu
  9. Pemrosesan Baris Perintah
  10. Hitung
  11. Manipulasi string
  12. Mengembalikan kode pengembalian dari skrip dan menangkap skrip lain
  13. Membaca dan menulis ke file
  14. Pipa

Komentar

Menambahkan komentar dengan kode adalah bagian penting dari bahasa pemrograman apa pun. Komentar tidak diurai dengan skrip pada saat eksekusi. Pembaca dapat memahami kode apa pun dengan benar jika kode tersebut dikomentari dengan baik. Anda dapat menambahkan komentar dalam berbagai cara dalam skrip bash. Bagaimana Anda dapat menambahkan komentar satu baris dan beberapa baris dalam skrip bash ditampilkan di bagian ini. Buat file bash dengan skrip berikut untuk mengetahui penggunaan komentar bash. Di sini, simbol '#' digunakan untuk menambahkan komentar satu baris dan tanda kutip tunggal (') dengan ':' digunakan untuk menambahkan komentar beberapa baris.







bash_comment.sh



#!/bin/bash
#Ambil nomor sebagai masukan
dibuang 'Masukkan nomor'
Bacake
:'
Periksa nomor input adalah
kurang dari 10 atau lebih besar dari 10 atau sama dengan 10
'

jika [[ $ a -lt 10 ]]
kemudian
dibuang 'Jumlahnya kurang dari 10'
elif [[ $ a -gt 10 ]]
kemudian
dibuang 'Jumlahnya lebih besar dari 10'
lain
dibuang 'Angka sama dengan 10'
menjadi

Keluaran:



Jalankan skrip.





$pestabash_comment.sh

Disini script dijalankan sebanyak tiga kali dengan nilai input 3, 10 dan 90. Akan muncul output sebagai berikut.



Jika Anda ingin tahu lebih banyak tentang komentar bash maka Anda dapat memeriksa tutorial ini .

Pergi ke Atas

perintah gema

Perintah `echo` digunakan di bash untuk mencetak output di terminal. Berbagai opsi dapat digunakan dengan perintah echo di bash untuk mencetak output dengan cara yang berbeda. Buat file bash dengan skrip berikut untuk mengetahui dua penggunaan sederhana dari perintah `echo`. Di sini, perintah `echo` pertama akan mencetak data teks sederhana dengan baris baru dan perintah echo kedua akan mencetak teks sederhana tanpa baris baru.

echo_test.sh

#!/bin/bash
#Cetak teks pertama
dibuang 'Cetak teks dengan baris baru'
#Cetak teks kedua
dibuang -n 'Cetak teks tanpa baris baru'

Keluaran:

Jalankan skrip.

$pestaecho_test.sh

Output berikut akan muncul setelah menjalankan perintah di atas.

Ada banyak kegunaan lain dari perintah `echo` di bash. Anda dapat memeriksa tutorial ini untuk mengetahui lebih banyak tentang perintah `echo`.

Pergi ke Atas

Variabel

Deklarasi variabel adalah bagian penting dari bahasa pemrograman apa pun. Variabel bash dapat dideklarasikan dengan cara yang berbeda. Ketika nilai diberikan dalam variabel maka tidak ada simbol yang digunakan di awal variabel. Simbol '$' digunakan dengan nama variabel pada saat membaca nilai variabel. Variabel dapat digunakan dari terminal atau dapat digunakan dalam skrip bash apa pun.

Perintah berikut akan mendeklarasikan variabel string bernama misteri dengan nilai tertentu dan selanjutnya mencetak nilai variabel di terminal.

$misteri='Saya suka pemrograman bash'
$dibuang $misteri

Keluaran:

Buat file bash dengan skrip berikut. Dua variabel dideklarasikan di sini. Ini adalah $ a dan $ b . Jika nilai input yang disimpan dalam $ a adalah sama dengan $ b lalu pesan, Angka sama akan dicetak sebaliknya Angka tidak sama akan dicetak.

var.sh

#!/bin/bash
dibuang 'Masukkan nomor'
Bacake
B=100
jika [[ $ a -persamaan $ b ]]
kemudian
dibuang 'Angkanya sama'
lain
dibuang 'Angka tidak sama'
menjadi

Keluaran:

Jalankan skrip.

$pestavar.sh

Perintah di atas dijalankan sebanyak dua kali dengan nilai 56 dan 100. Akan muncul output sebagai berikut.

Jika Anda ingin tahu lebih banyak tentang variabel bash maka Anda dapat memeriksa tutorial ini .

Pergi ke Atas

Pernyataan bersyarat

Seperti bahasa pemrograman lain, Anda dapat menggunakan pernyataan kondisional di bash. ' Jika-maka-lain ' dan ' kasus Pernyataan ' terutama digunakan untuk mengimplementasikan pernyataan kondisi dalam bahasa pemrograman apa pun. Penggunaan pernyataan kondisional dengan menggunakan 'jika' pernyataan ditampilkan di bagian tutorial ini. Buat file bash dengan skrip berikut di mana pernyataan kondisional digunakan. Di sini, dua nilai akan diambil dari pengguna sebagai input dan disimpan dalam variabel, $kode , dan $usia . Pernyataan 'if' digunakan untuk memeriksa nilai $usia lebih besar atau sama dengan 18 dan nilai $kode adalah 1100 . Jika kedua kondisi benar maka pesan, Anda memenuhi syarat untuk menonton film akan dicetak sebaliknya Anda tidak memenuhi syarat untuk menonton film akan dicetak.

cond.sh

#!/bin/bash

dibuang 'Masukkan kode Anda'
Bacakode
dibuang 'Masukkan Umur anda'
Bacausia

jika [[ $usia -memberi 18 && $kode -persamaan '1100' ]]
kemudian
dibuang 'Anda memenuhi syarat untuk menonton film'
lain
dibuang 'Anda tidak memenuhi syarat untuk menonton film'
menjadi

Keluaran:

Jalankan skrip.

$pestacond.sh

Output berikut akan muncul setelah mengambil nilai input yang berbeda. 1100 diberikan sebagai kode dan 5 diberikan sebagai usia untuk eksekusi pertama dan jika kondisi mengembalikan false untuk nilai-nilai ini. 1100 diberikan sebagai kode dan 45 diberikan sebagai usia untuk eksekusi kedua yang mengembalikan nilai true untuk kondisi if.

Jika Anda ingin tahu lebih banyak tentang pernyataan kondisional bash maka Anda dapat memeriksa tutorial ini.

Pergi ke Atas

Loop

Ketika beberapa bagian skrip perlu dieksekusi beberapa kali maka loop digunakan untuk melakukan tugas. Bash mendukung tiga jenis deklarasi loop seperti bahasa lain. Ini adalah untuk, sementara dan sampai loop. Berdasarkan persyaratan pemrograman, loop tertentu digunakan dalam skrip. Penggunaan ketiga jenis loop ini ditunjukkan pada bagian ini dengan menggunakan contoh sederhana.

Menggunakan untuk loop

Buat file bash dengan skrip berikut di mana ` untuk` loop digunakan untuk iterasi. `untuk` loop terutama digunakan untuk mengulangi daftar data atau array. Di sini, daftar nama hari kerja digunakan dan setiap nama hari kerja diulang dengan menggunakan for loop. `jika` pernyataan digunakan untuk mencetak pesan tertentu berdasarkan nama hari kerja.

untuk.sh

#Baca nama hari kerja di setiap iterasi loop
untukharidi dalamSenin Selasa Rabu Kamis Jum'at Sabtu Minggu
melakukan

#Periksa nama hari kerja adalah Senin atau Kamis
jika [[ $hari=='Senin' || $hari=='Kamis' ]]
kemudian
dibuang 'Pertemuan pada$haripada 09:30'

#Periksa nama hari kerja adalah Selasa atau Rabu atau Jumat
elif [[ $hari=='Selasa' || $hari=='Rabu' || $hari=='Jumat' ]]
kemudian
dibuang 'Berlatih di$harijam 11.00'
lain

#Cetak 'Liburan' untuk hari lain
dibuang '$harisedang liburan'
menjadi
selesai

Keluaran:

Jalankan skrip.

$pestauntuk.sh

Output berikut akan muncul setelah menjalankan skrip.

Jika Anda ingin tahu lebih banyak penggunaan bash for loop maka Anda dapat memeriksa tutorial ini.

Menggunakan while loop

Buat file bash dengan skrip berikut di mana ` sementara ` loop digunakan untuk iterasi. Script ini akan mencetak angka-angka dari 1 sampai 20 yang genap dan habis dibagi 5. Di sini, $konter variabel digunakan untuk mengontrol iterasi dari loop dan nilai variabel ini bertambah 1 di setiap iterasi. Kapan `jika` kondisi akan mengembalikan true maka akan mencetak nilai $konter .

#!/bin/bash

#Cetak pesan
dibuang 'Cetak angka yang genap dan habis dibagi 5'

#Inisialisasi penghitung
menangkal=1

#Iterate loop sampai nilai $counter kurang dari atau sama dengan 20
ketika [ $konter -NS dua puluh ]
melakukan

#Periksa $counter habis dibagi 2 dan 5
jika [[ $konter%2-persamaan 0 && $konter%5-persamaan 0 ]]
kemudian
#Cetak $counter tanpa baris baru
dibuang '$konter'
menjadi

#Tambahkan $counter sebesar 1
((counter++))
selesai
dibuang 'Selesai'

Keluaran:

$pestawhile.sh

Hanya ada angka dalam 1-20 yang genap dan habis dibagi 5. Output berikut akan muncul setelah menjalankan skrip.

Jika Anda ingin tahu lebih banyak tentang bash ` sementara` loop maka Anda dapat memeriksa tutorial ini .

Menggunakan sampai loop

Buat file bash dengan skrip berikut di mana ` sampai` loop digunakan untuk iterasi. Script ini akan mencetak semua angka ganjil dari 0 hingga 20. $n variabel digunakan dalam skrip ini untuk mengulangi loop.

sampai.sh

#!/bin/bash

#Inisialisasi variabel, n
n=dua puluh

#Ulangi perulangan sampai nilai $n lebih besar dari 0
sampai [ $n -lt 0 ]
melakukan

#Periksa nilai n ganjil
jika [[ $n%2-gt 0 ]]
kemudian
dibuang $n
menjadi

#Tambahkan nilai n sebanyak 1
((n=$n-1))
selesai

Keluaran:

Jalankan skrip.

$pestasampai.sh

Script akan mencetak semua bilangan genap dari 20 sampai 1. Output berikut akan muncul setelah menjalankan script.

Pergi ke Atas

Fungsi

Ketika sebuah blok kode perlu dieksekusi beberapa kali dalam sebuah skrip, maka fungsi tersebut digunakan untuk melakukan tugas tersebut. Anda perlu memanggil fungsi dengan nama hanya ketika skrip yang ditentukan dalam fungsi perlu dijalankan berkali-kali daripada menambahkan skrip yang sama beberapa kali. Tanda kurung awal dan akhir digunakan dengan nama fungsi untuk mendeklarasikan fungsi dalam skrip bash. Fungsi dapat dipanggil hanya dengan nama fungsi di bash. Bash tidak mendukung argumen fungsi seperti bahasa pemrograman standar lainnya. Tetapi nilainya dapat diteruskan ke fungsi bash dengan cara berbeda yang ditunjukkan di bagian ini. Nilai dapat dikembalikan dari fungsi dengan pernyataan kembali atau tanpa menggunakan pernyataan kembali.

Buat file bash dengan skrip berikut untuk mengetahui bagaimana fungsi dapat dideklarasikan dan dipanggil dalam skrip bash. Tiga fungsi dideklarasikan dalam skrip. Fungsi pertama dideklarasikan untuk mencetak pesan sederhana, Pemrograman Bash untuk pemula . Fungsi kedua dideklarasikan untuk menetapkan nilai string dalam suatu variabel, $return_str yang akan mencetak, Pelajari pemrograman bash dengan LinuxHint setelah memanggil fungsi. Fungsi ketiga dideklarasikan untuk membaca nilai argumen sebagai radius lingkaran yang akan diberikan pada saat memanggil fungsi. Di Sini, lokal digunakan untuk membaca nilai argumen. Fungsi ini akan menghitung luas lingkaran berdasarkan nilai jari-jari dengan menggunakan rumus, r2 dan cetak nilai area yang dihitung.

func.sh

#!/bin/bash

#Deklarasikan fungsi sederhana
fungsiprint_message()
{
dibuang 'Pemrograman Bash untuk pemula'
}

#Deklarasikan fungsi untuk mengembalikan nilai string
fungsiret_strdata()
{
#Inisialisasi variabel dengan nilai string
kembali_str='Pelajari pemrograman bash dengan LinuxHint'
}

#Deklarasikan fungsi untuk membaca nilai argumen
fungsihitung_area()

#Baca nilai argumen yang diteruskan
lokal radius=$1
daerah= $(dibuang $radius*$radius*3.14

#Panggil fungsi untuk mencetak pesan sederhana
print_message

#Panggil fungsi yang akan menetapkan nilai string dalam variabel
ret_strdata

#Cetak nilai variabel
dibuang $return_str

#Baca nilai radiusnya
dibuang 'Masukkan nilai radius'
Bacakerja

#Panggil fungsi dengan nilai radius
hitung_area$ rad

Keluaran:

Jalankan skrip.

$pestafunc.sh

Output berikut akan muncul setelah menjalankan skrip. Dua baris pertama akan dicetak dengan memanggil fungsi, print_pesan() dan ret_strdata() . Baris terakhir akan dicetak dengan memanggil fungsi, hitung_area () dengan nilai radius input yang diambil.

Jika Anda ingin tahu tentang mengembalikan string dari fungsi bash maka Anda bisa tutorial ini NS.

Pergi ke Atas

Memanggil program dalam skrip

Anda dapat menggunakan banyak jenis perintah untuk memanggil program lain dalam skrip bash apa pun, seperti: sumber, bash, evaluasi, eksekutif , dll. Misalkan tiga file bash, add.sh , kurangi.sh, multiply.sh dan division.sh dibuat untuk melakukan penjumlahan, pengurangan, perkalian, dan pembagian. Di Sini, kurangi.sh dan divisi.sh membaca argumen baris perintah. Script dari keempat file ini diberikan di bawah ini.

add.sh

#!/bin/bash
ke=60
B=40
((hasil=$ a+$ b))
dibuang 'Tambahan dari$ a+$ b=$hasil'

kurangi.sh

#!/bin/bash
ke=$1
B=$2
((hasil=$ a-$ b))
dibuang 'Pengurangan dari$ a-$ b=$hasil'

kalikan.sh

#!/bin/bash
((hasil=$1*$2))
dibuang 'Perkalian $1 dan $2 adalah$hasil'

membagi.sh

#!/bin/bash
ke=$1
B=2
((hasil=$ a/$ b))
dibuang 'Pembagian dari$ aoleh$ badalah$hasil'

Buat file bash bernama, callpro.sh dengan skrip berikut untuk memanggil file bash yang disebutkan menggunakan perintah source, bash, eval dan exec. Anda harus mengatur izin eksekusi untuk keempat file di atas sebelum menjalankan skrip berikut. Perintah `source` digunakan untuk memanggil add.sh mengajukan. Perintah `bash` digunakan untuk mengeksekusi file subtract.sh. Perintah `eval` digunakan untuk mengeksekusi file multiply.sh. Dua nilai input dikirim sebagai argumen baris perintah untuk perintah `eval`. Perintah terakhir adalah perintah exec yang bekerja dengan jalur absolut saja. Untuk ini, nama path lengkap dari file divide.sh diberikan dalam skrip.

callpro.sh

#!/bin/bash
naskah1='tambah.sh'
naskah2='kurangi.sh'
naskah3='multiply.sh'
naskah4='/home/fahmida/code/divide.sh'

sumber '$script1'

pesta $script2 lima puluh dua puluh

dibuang 'Masukkan nilai a'
Bacake
dibuang 'Masukkan nilai b'
BacaB
evaluasi pesta $script3 $ a $ b
eksekutif $script4 30

Keluaran:

Jalankan skrip.

$pestacallpro.sh

Output berikut akan muncul setelah menjalankan skrip.

Pergi ke Atas

Membuat Menu

Ada perintah yang berguna di bash untuk membuat menu sederhana yang disebut `pilih` memerintah. Berbagai jenis menu dapat dibuat dengan menggunakan perintah ini. Daftar data tertentu digunakan untuk membuat menu dengan perintah ini. Buat file bash dengan kode berikut untuk melihat penggunaan `pilih` perintah untuk membuat menu. Dalam contoh ini, daftar lima item akan dicetak sebagai menu dan meminta pengguna untuk memilih bahasa apa pun dari daftar. Nilai yang dipilih akan disimpan dalam variabel, $bahasa yang dicetak kemudian dengan menggabungkan dengan string lain. Script akan terus meminta untuk memilih bahasa sampai pengguna menekan 6 untuk mengakhiri dari skrip.

menu.sh

#!/bin/bash

#Cetak pesan untuk pengguna
dibuang 'Pilih bahasa favorit Anda'

# Tentukan daftar item menu
Pilihbahasadi dalamC# Keluar dari Java PHP Python Bash
melakukan
#Cetak nilai yang dipilih
jika [[ $bahasa=='Keluar' ]]
kemudian
keluar 0
lain
dibuang 'Bahasa yang dipilih adalah$bahasa'
menjadi
selesai

Keluaran:

Jalankan skrip.

$pestamenu.sh

Menurut output berikut, pengguna menekan 3 untuk pertama kalinya yang mencetak PHP dan menekan 6 untuk kedua kalinya yang mengakhiri skrip.

Jika Anda ingin tahu lebih banyak tentang pembuatan menu bash dengan `select` maka Anda dapat mengunjungi tutorial ini.

Pergi ke Atas

Pemrosesan Baris Perintah

Terkadang kita perlu memberikan nilai input saat menjalankan skrip dari baris perintah. Tugas ini dapat dilakukan dengan dua cara di bash. Salah satu caranya adalah dengan menggunakan variabel argumen dan cara lainnya adalah dengan menggunakan fungsi getopts. Membaca data input baris perintah dari terminal dengan menggunakan variabel argumen ditunjukkan pada bagian ini.

Buat file bash dengan skrip berikut untuk melihat penggunaan membaca nilai argumen baris perintah. Script ini akan membaca tiga argumen baris perintah yang akan disimpan dalam variabel, $operand1, $operand2 dan $operator. Untuk mengeksekusi skrip dengan benar, nilai argumen pertama dan ketiga harus berupa angka dan nilai argumen kedua harus salah satu dari empat operator aritmatika ('+', '-', '/', 'x'). jika pernyataan akan memeriksa nilai $operator dan melakukan operasi berdasarkan operator dan mencetak nilainya.

cl1.sh

#!/bin/bash

#Cetak variabel argumen
dibuang 'Nilai argumen adalah: $1 $2 $3'

# Simpan nilai argumen
operan1=$1
operan2=$3
operator=$2

#Periksa nilai argumen perintah ke-2 untuk melakukan operasi aritmatika
jika [[ $operator=='+' ]]
kemudian
((hasil=$ operan1+$ operan2))
elif [[ $operator=='-' ]]
kemudian
((hasil=$ operan1-$ operan2))
elif [[ $operator=='x' ]]
kemudian
((hasil=$ operan1*$ operan2))
elif [[ $operator=='/' ]]
kemudian

((hasil=$ operan1/$ operan2))
menjadi

#cetak hasilnya
dibuang -Dan 'Hasilnya =$hasil'

Keluaran:

Jalankan skrip.

$pestacl1.sh

Script dijalankan sebanyak empat kali untuk empat jenis operator aritmatika. Output berikut akan muncul untuk nilai argumen, 6 + 3, 6 – 3, 6 x 3 dan 6 / 3 .

Nilai argumen dapat diteruskan dengan pasangan nama-nilai di bash. Buat file bash dengan skrip berikut untuk menunjukkan cara membaca nilai argumen dengan nama. Script akan membaca dua variabel argumen. Nilai argumen dengan nama dicetak dalam pernyataan pertama skrip. Selanjutnya, for loop digunakan untuk mengulangi array yang berisi nilai argumen baris perintah. Setiap elemen larik dipisahkan menjadi pasangan nilai kunci dengan menggunakan perintah `cut`. Selanjutnya, pernyataan kasus digunakan untuk mencetak pesan tertentu berdasarkan nilai kunci.

cl2.sh

#! /NS/pesta

#Cetak variabel argumen
dibuang 'Nilai argumen adalah: $1 $2'

#Baca setiap argumen secara terpisah menggunakan for loop
untukmarahdi dalam ' [dilindungi email] '
melakukan

#Pisahkan nama dan nilai argumen
kunci= $(dibuang $arg | memotong -f1 -D=)
nilai= $(dibuang $arg | memotong -f2 -D=)

#Cetak pesan berdasarkan nama argumen
kasus $kunci di dalam
nama) dibuang 'Nama siswa =$nilai';;
tanda) dibuang 'Mendapatkan nilai =$nilai' ;;
*)
esac
selesai

Keluaran:

Jalankan skrip dengan argumen baris perintah berikut.

$pestacl2.shnama=Abir Hossaintanda=90

Dua argumen baris perintah disediakan dalam perintah di atas. Ini adalah nama=Abir Hossain dan tanda = 90 . nama dan tanda dipisahkan oleh skrip dan dua nilai dicetak setelah memformat output.

Memproses argumen baris perintah dengan menggunakan getopt fungsi tidak dibahas dalam tutorial ini. Jika Anda ingin tahu tentang pemrosesan baris perintah dengan menggunakan getopt fungsi maka Anda dapat mengunjungi tutorial ini .

Pergi ke Atas

Hitung

Melakukan operasi aritmatika adalah persyaratan umum dari setiap bahasa pemrograman. Bash melakukan operasi aritmatika dengan cara yang berbeda dari bahasa pemrograman standar lainnya. Ada beberapa cara untuk melakukan operasi aritmatika di bash. Salah satu cara sederhana untuk melakukan operasi aritmatika ditunjukkan pada bagian ini. Buat file bash dengan skrip berikut. Empat jenis operasi aritmatika ditampilkan dalam skrip ini. Operasi penjumlahan dan pembagian sederhana ditunjukkan dengan menggunakan tanda kurung ganda pertama di awal skrip. Selanjutnya, operasi pra-kenaikan ditampilkan. Terakhir, cara menggunakan operator steno ditunjukkan di bagian terakhir skrip.

arith.sh

#!/bin/bash
# Hitung jumlah
hasil= $((lima puluh+25))
# Cetak nilai penjumlahan
dibuang 'jumlah =$hasil'

# Hitung pembagiannya
hasil= $((lima puluh/25))
# Cetak nilai pembagian
dibuang 'pembagian =$hasil'

# Tetapkan nilai untuk N
n=10
# Melakukan pra-kenaikan
((--N))
# Cetak nilai N
dibuang 'Nilai setelah dikurangi =$N'

# Menggunakan operator steno
((N +=10 ))
# Cetak nilai N
dibuang 'Nilai setelah menambahkan 10 =$N'

Keluaran:

Jalankan skrip.

$pestaarith.sh

Output berikut akan muncul setelah menjalankan skrip.

Semua operasi aritmatika dilakukan dengan menggunakan tanda kurung ganda dalam skrip di atas. Tapi Anda bisa menggunakan ' membiarkan ',' expr ' dan ' SM ' perintah untuk melakukan operasi aritmatika di bash. Jika Anda ingin tahu lebih banyak tentang perintah ini untuk melakukan operasi aritmatika bash maka Anda dapat mengunjungi tutorial ini.

Pergi ke Atas

Manipulasi String

Banyak jenis tugas dapat dilakukan dengan data string di bash. Beberapa adalah menggabungkan string, membandingkan string, memisahkan string, Mengubah kasus string, dll. Tidak ada fungsi string bawaan seperti bahasa standar lainnya di bash untuk melakukan operasi string. Beberapa manipulasi string yang umum dibahas di bagian tutorial ini.

String Penggabungan

Menambahkan dua atau lebih string bersama disebut penggabungan string. String digabungkan bersama dalam bash dengan menempatkan satu demi satu. Buat file bash dengan skrip berikut untuk menunjukkan penggunaan rangkaian string. Dua variabel string diinisialisasi dan dicetak setelah variabel digabungkan. Berikut isi dari $string1 dan $string2 akan digabungkan dan dicetak.

concat.sh

#!/bin/bash

#Inisialisasi variabel string pertama
string1='Saya suka '
#Inisialisasi variabel string kedua
string2='Pemrograman Bash'
#Cetak setelah menggabungkan kedua string
dibuang '$string1$string2'

Keluaran:

Jalankan skrip.

$pestaconcat.sh

Output berikut akan muncul setelah menjalankan skrip.

Anda dapat mengetahui lebih banyak tentang penggabungan string dari tutorial ini.

Pergi ke Atas

Membandingkan String

Bash menggunakan berbagai jenis operator untuk membandingkan data string. Buat file bash dengan skrip berikut untuk menunjukkan cara membandingkan dua data string. Nilai string diambil sebagai input dalam skrip yang dibandingkan dengan string lain. Jika nilainya cocok maka sebuah pesan, Kamu suka Python akan dicetak sebaliknya Anda suka PERL akan dicetak.

bandingkan.sh

#!/bin/bash
dibuangMasukkan nilai string apa pun
Bacateks

#Periksa data input setara dengan Python
jika [ $teks=='Python' ];kemudian
dibuang 'Kamu suka Python.'
lain
dibuang 'Kamu suka PERL'
menjadi

Keluaran:

Jalankan skrip.

$pestabandingkan.sh

Output berikut akan muncul setelah menjalankan skrip di mana nilai inputnya adalah 'PERL'.

Anda dapat mengetahui lebih banyak tentang perbandingan string dari tutorial ini .

Memisahkan String

Bash tidak memiliki fungsi split bawaan untuk membagi data string. Data string dapat dibagi dengan beberapa cara di bash berdasarkan berbagai jenis pembatas. Buat file bash dengan skrip berikut untuk menunjukkan bagaimana data string dapat dibagi menjadi bash. Nilai string diambil sebagai input. Script ini akan membagi nilai $teks berdasarkan ruang. Di sini, IFS variabel digunakan untuk mengatur pembatas. `baca` perintah digunakan di sini untuk membagi nilai teks dan menyimpan nilai ke dalam array. untuk loop digunakan untuk mengulangi array dan mencetak nilai setiap elemen.

split.sh

#!/bin/bash
#Masukkan nilai string
dibuangMasukkan nilai string
Bacateks
# Setel pembatas
IFS=''
#Pisahkan nilai $teks ke dalam array berdasarkan pembatas ruang
Baca -kearr<<< '$teks'
# Cetak setiap nilai array
untuknilaidi dalam '${arr[@]}';
melakukan
printf '$nilai '
selesai

Keluaran:

Jalankan skrip.

$pestasplit.sh

Output berikut akan muncul setelah mengambil input, Pelajari pemrograman Bash . Nilai input ini adalah teks tiga kata. Jadi, string dibagi menjadi tiga bagian.

Anda dapat mengetahui lebih banyak tentang perbandingan string dari tutorial ini .

Mengubah Kasus string

Sebagian besar bahasa skrip memiliki fungsi bawaan untuk mengubah kasus data string. Tetapi kasus data string dapat diubah di bash dengan menggunakan `tr` perintah atau dengan menggunakan ':atas' dan ':lebih rendah' kata kunci. Buat file bash dengan skrip berikut untuk mengetahui cara mengubah huruf besar-kecil di bash. Di sini, data string pertama diubah menjadi huruf besar dengan menggunakan '^^' simbol dan string kedua diubah menjadi huruf kecil dengan menggunakan `tr` memerintah. `tr` perintah akan mencari semua huruf besar dalam string dan mengubah karakter menjadi huruf kecil.

case.sh

#!/bin/bash

#Inisialisasi data string pertama
Teks 1=' [dilindungi email] '

#Cetak nilai $text1 dengan mengubah semua karakter menjadi huruf besar
dibuang ${email^^}

#Inisialisasi data string kedua
teks2='Dasar-dasar Pemrograman Bash'

#Cetak nilai $text2 dengan mengubah semua huruf besar menjadi huruf kecil
dibuang $teks2 | NS [:atas:] [:lebih rendah:]

Keluaran:

Jalankan skrip.

$pestacase.sh

Output berikut akan muncul setelah menjalankan skrip.

Anda dapat mengetahui lebih banyak tentang perbandingan string dari tutorial ini .

Pergi ke Atas

Membaca data string melalui loop

Data string berfungsi sebagai array karakter untuk bahasa pemrograman apa pun. Bagaimana ' untuk ' loop dapat digunakan untuk membaca data string di bash ditampilkan di bagian ini. Buat file dasar dengan skrip berikut untuk membaca setiap bagian dari nilai string dengan menggunakan for loop.

readstr.sh

#!/bin/bas
# Baca setiap kata dari teks dengan menggunakan for loop
untuknilaidi dalamPemrograman Bashuntukpemula
melakukan
dibuang $nilai
selesai

Keluaran:

Jalankan skrip.

$pestareadstr.sh

Output berikut akan muncul setelah menjalankan skrip.

Anda dapat mengetahui lebih banyak tentang iterasi data string dengan menggunakan loop dari tutorial ini .

Pergi ke Atas

Mengembalikan kode pengembalian dari skrip dan menangkap skrip lain

Satu skrip bash dapat menangkap kode pengembalian dari skrip lain dengan memanggil skrip dan menggunakan ‘$?’ untuk membaca nilai kembalian. Misalkan, file bash bernama pertama.sh mengembalikan kode setelah eksekusi. Buat file bash lain bernama detik.sh dan tambahkan skrip berikut untuk menangkap nilai pengembalian dan melakukan beberapa tugas lainnya. Kode kedua file diberikan di bawah ini. pertama.sh file akan dipanggil dari detik.sh file di awal skrip. pertama.sh akan mengembalikan kode keluar berdasarkan nilai input. second.sh akan menangkap kode dengan ‘$?’ dan bandingkan dengan 1. Jika kedua nilai sama maka akan dicetak, Nomor input lebih besar dari 100 , jika tidak maka akan dicetak, Nomor input kurang dari atau sama dengan 100 .

pertama.sh

#!/bin/bash

dibuang 'Masukkan nilai numerik'
Bacan

# Periksa nilai input kurang dari atau sama dengan 100 atau tidak
jika [[ $n -NS 100 ]]
kemudian
keluar 0
lain
keluar 1
menjadi

detik.sh

#! /bin/bash

#Jalankan filenya dulu.sh
pesta 'pertama.sh'

#Periksa kode pengembalian sama dengan 1 atau tidak
jika [ $? -persamaan 1 ]
kemudian
dibuang 'Angka masukan lebih besar dari 100'
lain
dibuang 'Angka masukan kurang dari atau sama dengan 100'
menjadi

Keluaran:

Jalankan skrip.

$pestadetik.sh

Output berikut akan muncul ketika skrip dijalankan oleh 55 dan 110 selama dua kali.

Pergi ke Atas

Membaca dan menulis ke file

Membaca dan menulis file adalah persyaratan umum dari pemrograman bash. Bash tidak memiliki fungsi bawaan seperti bahasa lain untuk membaca atau menulis file. Ada beberapa cara untuk membaca file di bash. Cara paling umum untuk membaca atau menulis file di bash adalah menggunakan `kucing` memerintah. Tetapi perintah ini digunakan untuk membaca seluruh isi file sekaligus. Anda juga dapat membaca file apa pun baris demi baris dengan menggunakan loop apa saja dan `baca` memerintah. Menggunakan operator pengalihan, ‘>’ , Anda dapat menulis data ke file apa pun di bash. Jika Anda ingin menambahkan data ke file apa pun maka Anda harus menggunakan '>>' operator. Operasi membaca dan menulis file ditunjukkan di bagian selanjutnya dari bagian ini.

Membaca file di bash

Buat file bash dengan skrip berikut untuk membaca file yang ada bernama ' hardware.txt '. Isi dari file ini diberikan di bawah ini. Dalam skrip, seluruh isi file dibaca oleh `kucing` perintah pertama dan selanjutnya, while loop digunakan untuk membaca file baris demi baris.

hardware.txt

Memantau
Papan ketik
Mouse
Pemindai
Pencetak

readfile.sh

#!/bin/bash

dibuang 'Membaca file menggunakan perintah cat'

# Baca konten file menggunakan perintah `cat`
isi=``kucinghardware.txt``
dibuang $konten

dibuang 'Membaca file baris demi baris menggunakan loop'

# Tetapkan nama file
nama file='perangkat keras.txt'

# Setiap baris file akan dibaca oleh setiap iterasi dari loop
ketika Bacagaris;
melakukan
# cetak baris
dibuang $baris
selesai<$nama file

Keluaran:

Jalankan perintah berikut.

$kucinghardware.txt
$pestareadfile.sh

Di sini, perintah pertama akan mencetak konten file, hardware.txt tanpa menjalankan skrip bash apa pun dan perintah kedua akan menjalankan skrip readfile.sh dan cetak konten file dua kali dengan menggunakan `kucing` perintah dan `baca` perintah dengan while loop. Anda dapat mengunjungi ini tutorial untuk mengetahui lebih banyak tentang membaca file baris demi baris.

Menulis file di bash

Buat file bash dengan skrip berikut untuk menulis konten baru di file baru dan menambahkan data di file itu.

writefile.sh

#!/bin/bash

dibuang 'Masukkan beberapa teks'
#Baca data string
Bacastr1
#Tambahkan data input ke dalam file untuk pertama kalinya
dibuang $str1 >test.txt

dibuang 'Masukkan beberapa teks lain'
#Baca data string lainnya
Bacastr2
#Tambahkan data input di akhir file
dibuang $str2 >>test.txt

#Tampilkan isi file secara lengkap
dibuang ``kucingtest.txt``

Keluaran:

Jalankan skrip.

$pestawritefile.sh

Output berikut akan muncul setelah menjalankan skrip.

Pergi ke Atas

Pipa

Pipa digunakan untuk mengarahkan output perintah apa pun ke input perintah lainnya. Ini dapat digunakan di antara berbagai jenis perintah bash untuk menghasilkan output tertentu. Input standar terhubung dengan output standar di Linux melalui pipa. Anda perlu mengatur perintah secara berurutan dengan simbol pipa ( | ) untuk mendapatkan output yang diinginkan. Dua atau lebih perintah dapat dieksekusi bersama-sama dalam satu perintah dengan menggunakan pipa. Anda harus menjalankan beberapa perintah dalam beberapa baris tanpa pipa untuk melakukan tugas yang sama. Jadi, menggunakan pipa sangat bermanfaat untuk melakukan banyak jenis tugas dalam waktu singkat.

sintaksis:

perintah1|perintah2|...

Di sini, output dari command1 akan diteruskan sebagai input dari command2.

Jenis tugas yang sama dilakukan dengan pipa dan tanpa pipa di bagian selanjutnya dari bagian ini. Misalkan file teks bernama mark.txt diberikan dengan data sebagai berikut.

mark.txt

Asraf CSE-409 79

Kabir CSE-304 95

Keya CSE-101 67

Asraf CSE-304 88

Keya CSE-409 90

Asraf CSE-101 92

Anda harus mengurutkan data file dan mencari tahu dan mencetak semua entri nama siswa 'K Ya ' . Anda dapat melakukan tugas ini dengan menjalankan beberapa perintah tanpa menggunakan pipa yang diperlihatkan di bagian berikutnya. Perintah berikut perlu dijalankan untuk mendapatkan output yang diinginkan. Perintah pertama akan mengurutkan file. Perintah kedua akan mencari entri 'K Ya ' menggunakan ` pegangan ` perintah dan simpan hasilnya di sebuah temp.txt mengajukan. Perintah ketiga akan menghitung total baris a temp.txt file dengan menggunakan `wc` memerintah.

$menyortirmark.txt
$pegangan 'Keya'mark.txt>temp.txt
$toilet -NStemp.txt

Keluaran:

Dua entri siswa, 'Keya' ada di file. Jadi setelah menjalankan perintah di atas, akan muncul output berikut.

Anda dapat dengan mudah menggabungkan tiga perintah di atas dan mendapatkan output yang sama dengan menjalankan satu perintah dengan pipa yang ditunjukkan pada perintah berikut. Tidak ada file sementara yang diperlukan di sini untuk mendapatkan output. Di sini, output dari ` menyortir Perintah ` akan diteruskan sebagai input dari ` pegangan ` perintah dan output dari ` pegangan ` perintah akan diteruskan sebagai input untuk `wc` memerintah.

$menyortirmark.txt| pegangan 'Keya' | toilet -NS

Keluaran:

Setelah menjalankan perintah di atas, Anda akan mendapatkan output berikut seperti output perintah sebelumnya. Output dari perintah akan menjadi 2.

Pergi ke Atas

Kesimpulan:

Topik bahasa scripting bash yang paling berguna dan perlu dicoba untuk dibahas dalam tutorial ini. Harapannya, pembaca akan mendapat manfaat setelah membaca tutorial ini dan dapat menulis skrip bash dengan lebih efisien.