1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình shell - vòng lập

18 394 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 1,37 MB

Nội dung

VÒNG LẶP FORMỘT SỐ VÍ DỤ #!/bin/bash for file in /etc/* do if [ "${file}" == "/etc/resolv.conf" ] then countNameservers=$ grep -c nameserver /etc/resolv.conf echo "Total ${countNameserve

Trang 2

MỤC LỤC

I Vòng lặp “ for ”

II Vòng lặp “ while ”,” until ”

III Một số lưu ý

Trang 3

VÒNG LẶP FOR

# Dạng 1

for { tên biến } in { danh sách }

do

{Khối lệnh}

done

CẤU TRÚC

#Dạng 2 for (( expr1; expr2; expr3 ))

do {Khối lệnh}

done

Trang 4

VÒNG LẶP FOR

VÍ DỤ

#!/bin/bash

for i in 1 2 3 4 5

do

echo "Welcome $i times“

done

Danh sách có thể là dãy số “1 2 3 4 5”

Hoặc “{1 5}”

Hoặc “$(seq 1 2 20)”

Hoặc lệnh linux unix ví dụ “/etc/*” , “$@”,

“$*“ vv

Trang 5

VÒNG LẶP FOR

MỘT SỐ VÍ DỤ

#!/bin/bash

for (( c=1; c<=5; c++ ))

do

echo “Lớp $c Bis"

done

Trang 6

VÒNG LẶP FOR

MỘT SỐ VÍ DỤ

#!/bin/bash

for file in /etc/*

do

if [ "${file}" == "/etc/resolv.conf" ]

then countNameservers=$( grep -c nameserver /etc/resolv.conf)

echo "Total ${countNameservers} nameservers defined in ${file}"

break

fi

done

Trang 7

VÒNG LẶP FOR

MỘT SỐ VÍ DỤ

#!/bin/bash

var=“myfile”

for i in ‘cat $var’

do

echo “lớp $i bis”

done

Trang 8

VÒNG LẶP WHILE

CẤU TRÚC

while [ điều kiện ]

do {Khối lệnh}

done

- Trong khi thỏa [điều kiện] thì còn thực hienj {khối lệnh}

Trang 9

VÒNG LẶP WHILE

MỘT SỐ VÍ DỤ

#!/bin/bash

x=1

while [ $x -le 5 ]

do

echo "Welcome $x times"

x=$(( $x + 1 ))

done

Trang 10

VÒNG LẶP WHILE

MỘT SỐ VÍ DỤ

#!/bin/bash

{

n=0;max=0;dong=””

while read line

do

n=` expr length “$line” `

if [ $n –gt $max ]

then

dong=”$line”

max=$n

fi

done

echo “ $1 max line = $max la : $dong ”

}<$1

Trang 11

VÒNG LẶP UNTIL

CẤU TRÚC

until [ điều kiện ]

do {Khối lệnh}

done

Ngược lại với while:

Trang 12

VÒNG LẶP UNTIL

MỘT SỐ VÍ DỤ

#!/bin/bash

var=100

untill [var –eq 0]

do

echo $var

var=$(($var-25))

done

Trang 13

MỘT SỐ LƯU Ý

Vòng lặp trong vòng lặp

#!/bin/bash

i=1

y=1

while [ $i -le 5 ]

do

while [ $y -le 10 ]

do

echo " $y * $i = $(( $y * $i )) "

(( y++ ))

done

y=1

(( i++ ))

Trang 14

MỘT SỐ LƯU Ý

Vòng lặp vô hạn :

#!/bin/bash

for (( ; ; ))

do

echo "infinite loops [ hit CTRL+C to stop]"

done

#!/bin/bash

while :

do

echo "infinite loops [ hit CTRL+C to stop]"

done

Dùng “break”,”continue” để xử lý

Trang 15

BREAK , CONTINUE

Break

- Để thoát khỏi vòng lặp có thể dùng lệnh break.

- Nếu dùng lệnh “break n“ thì n vòng lặp gần lệnh break nhất sẽ chấm dứt.

Trang 16

BREAK , CONTINUE

Continue

- Dược gọi trong vòng lặp để nhảy ra khỏi vòng lặp

- Tương tự lệnh break, nếu gọi lệnh “continue n“ thì

shell bỏ qua các lệnh còn lại trong n vòng lặp chứa lệnh

“ continue n”

Trang 17

BREAK , CONTINUE

Một số ví dụ

while :

do

read -p

"Enter two numnbers ( - 1 to quit ) : "

a

b

if [ $a -eq -1 ]

then

break

fi

ans=$(( a + b ))

echo $ans

Trang 18

“END… ”

Ngày đăng: 02/11/2014, 17:52

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w