GNU/Linux >> Belajar Linux >  >> Linux

Kiat Pro:Untuk, Sementara, dan Hingga Perulangan

TINGKAT:SYSADMIN / WAKTU:1-2 mnt.

Berikut adalah beberapa contoh referensi cepat yang berguna untuk kembali dengan mudah jika Anda perlu menggunakan for, while dan hingga loop dalam skrip bash shell Anda. Ini sempurna untuk bookmark dan kembali lagi nanti. Saya selalu lupa perbedaan sintaks halus yang dimiliki bash, dibandingkan dengan bahasa lain yang saya gunakan, misalnya C, PHP, Python dll.

Sebelum saya menunjukkan contohnya, ada baiknya mengetahui kapan harus menggunakan setiap jenis loop:

  • untuk loop sedikit berbeda dari bahasa pemrograman lainnya. Pada dasarnya, ini memungkinkan Anda mengulangi serangkaian item dalam sebuah string.
  • sementara loop menjalankan item yang akan dieksekusi jika ekspresi kontrol benar, dan hanya berhenti jika salah (atau jeda eksplisit ditemukan dalam kode yang dieksekusi.
  • Itu sampai loop hampir identik dengan loop while, kecuali bahwa kode dieksekusi saat ekspresi kontrol bernilai false.

UNTUK Contoh 1:Pengulangan sederhana

Jenis perulangan sederhana ini hanya menghitung nilai yang diberikan. Dalam hal ini, dimulai dari 1 dan berlanjut ke 5. Ini adalah pengulangan paling dasar.


#!/bin/bash
for i in 1 2 3 4 5
do
echo "Hello, I've done this loop $i times"
done

UNTUK Contoh 2:Ulangi tindakan 50 kali:

Pengulangan dapat dilakukan dengan mulai dari suatu nilai dan menambah penghitung. Ini seperti yang Anda lakukan dalam bahasa pemrograman yang lebih konvensional. Satu-satunya hal yang harus Anda ingat adalah menggunakan (( untuk menyatakan perhitungan numerik.


#!/bin/bash
for ((i=1;i<=50;i++));
do
# your command, eg: echo $i
done

Contoh ini melakukan apa yang seharusnya dilakukan. Tetapi ada cara yang lebih mudah yang tidak harus membuat Anda mengingat tanda kurung ganda yang sedikit esoteris. Lihat contoh di bawah ini.

UNTUK Contoh 3:Bekerja dengan rentang numerik

Rentang

Terkadang Anda mungkin perlu menetapkan nilai langkah (misalnya, menghitung dengan dua atau menghitung mundur ). Perhatikan bahwa bash versi 3.0+ memiliki dukungan bawaan untuk menggunakan rentang, tetapi tidak terlalu praktis untuk rentang langkah:

#!/bin/bash
for i in {1..5}
do
echo "This is the $i iteration of this loop"
done

Melangkah:

Sebagian besar distribusi Linux modern menjalankan Bash v4.0+, yang memiliki dukungan bawaan untuk menyiapkan nilai langkah menggunakan {START.. SELESAI.. INCREMENT} sintaks:

#!/bin/bash
echo "Bash version ${BASH_VERSION}..."
for i in {0..10..2}
do
echo "This is the $i iteration of this loop"
done

Keluaran:

This is the 0 iteration of this loop
This is the 2 iteration of this loop
This is the 4 iteration of this loop
This is the 6 iteration of this loop
This is the 8 iteration of this loop
This is the 10 iteration of this loop

UNTUK Contoh 4:Mengerjakan kata, argumen, dan keluaran perintah

Sebelumnya kami telah mengerjakan rentang numerik, tetapi masalahnya adalah loop FOR mengevaluasi argumen daripada angka, angka hanyalah . Ini berarti Anda dapat memerintahkannya untuk beroperasi pada setiap iterasi berbasis baris. Misalnya berikut ini akan melakukan perintah ls. Untuk setiap item yang dilihatnya akan menggemakan baris. Perhatikan bahwa ini berfungsi pada serangkaian kata, bukan daftar baris. Jadi jika Anda menggunakan ls -l, itu tidak akan memberikan hasil yang berguna, perhatikan juga, jika Anda memiliki nama file dengan spasi di dalamnya, itu akan menafsirkannya sebagai kata yang berbeda (argumen yang dipasok ke untuk ).

#!/bin/bash
for i in $( ls *txt ); do
echo item: $i
done

WHILE Contoh:

Sementara dasarnya mengemulasi bahasa pemrograman yang lebih klasik untuk struktur loop:

#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done

SAMPAI Contoh:


#!/bin/bash
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done


Linux
  1. Tertangkap Dalam Lingkaran? Awk While, Do While, For Loop, Break, Continue, Exit Contoh

  2. Menjaga Anda di Loop – Contoh Bash Untuk, Sementara, Sampai Loop

  3. Menggunakan dan di Bash while loop

  1. Panduan Bash For Loop dan Contohnya

  2. Dukungan Big Endian dan Little Endian untuk pemesanan byte

  3. Pesta Linux. untuk loop dan fungsi, untuk menambahkan angka

  1. Tips dan trik untuk curl dan wget

  2. Skrip Linux:3 cara untuk while loop di Bash

  3. Bash Seri Pemula #8:Loop di Bash