Danh mục

Tài liệu quản trị hệ điều hành linux phần 8

Số trang: 12      Loại file: pdf      Dung lượng: 297.95 KB      Lượt xem: 13      Lượt tải: 0    
Thư viện của tui

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong dạng này, lệnh for thực thi một lần cho mỗi phần tử nằm trong danh sách. Danh sách này có thể được thay đổi chứa các từ được phân biệt với nhau bởi dấu cách, hoặc nó có thể là một danh sách các giá trị được gõ trực tiếp vào trong câu lệnh.
Nội dung trích xuất từ tài liệu:
Tài liệu quản trị hệ điều hành linux phần 86.6.1. L nh forLệnh for thực thi các câu lệnh chứa trong nó một số lần. Lệnh for có hai dạng khácnhau trong bash và pdksh. Dạng thứ nhất của lệnh for mà bash và pdksh hỗ trợ có cúpháp như sau:for var1 in listdo commandsdoneTrong dạng này, lệnh for thực thi một lần cho mỗi phần tử nằm trong danh sách. Danhsách này có thể được thay đổi chứa các từ được phân biệt với nhau bởi dấu cách, hoặcnó có thể là một danh sách các giá trị được gõ trực tiếp vào trong câu lệnh. Mỗi lầnqua vòng lặp, biến var1 được gán cho phần tử hiện tại trong danh sách và tiếp tục chođến khi phần tử cuối cùng trong danh sách.Dạng thứ hai của lệnh for có cú pháp như sau:for var1do statementsdoneTrong dạng này, lệnh for thực thi một lần cho mỗi phần tử nằm trong biến var1. Khibạn sử dụng cú pháp này của lệnh for, chương trình shell giả sử rằng biến var1 chứatất cả các đối số được đưa vào trong chương trình shell từ dòng lệnh. Điển hình, dạngnày của lệnh for là tương đương với viết các lệnh sau:for var1 in $@do statementsdoneTương đương với lệnh for trong tcsh là lệnh foreach. N ó xử lý tương tự như lệnh fortrong bash và pdksh. Cú pháp của lệnh foreach như sau:foreach name (list) commandsendUpload bởi www.viet-ebook.co.cc 85Một lần nữa, nếu mã này là một chương trình hoàn thiện, nó nên bắt đầu với kí hiệu #(và tốt nhất là #!/bin/sh để buộc thực thi theo Bourne shell). Dưới đây là một ví dụ vềsử dụng lệnh for trong bash hay pdksh. Ví dụ này lấy các tùy chọn dòng lệnh số lượngbất kỳ các file text. Chương trình đọc mỗi file trong các file này, chuyển đổi tất cả cácký tự thành chữ hoa, và sau đó lưu trữ kết quả trong một file có cùng tên nhưng cóphần mở rộng là .caps.for filedotr a-z A-Z < $file >$file.capsdoneChương trình sau là một ví dụ tương tự được viết theo ngôn ngữ shell tcsh:#foreach file ($*) tr a-z A-Z < $file >$file.capsend6.6.2. L nh whileMột lệnh lặp khác được đưa vào ngôn ngữ lập trình shell là lệnh while. Lệnh này thựcthi một khối các câu lệnh theo một điều kiện nào đó. Cú pháp của lệnh while trongbash và pdksh là như sau:while expressiondo statementsdoneCú pháp cho lệnh while trong tcsh là như sau:while (expression) statementsendDưới đây là một ví dụ về lệnh while theo ngôn ngữ shell bash hay pdksh. Chươngtrình này đưa ra danh sách các đối số được đưa vào chương trình cùng với số các đốisố.Upload bởi www.viet-ebook.co.cc 86count=1while [ -n $* ]do echo This is parameter number $count $1 shift count=`expr $count + 1`doneLệnh shift chuyển đối số dòng lệnh lên một sang bên trái (xem đoạn sauLệnh shiftđể biết thêm thông tin). Chương trình bên dưới tương tự được viết cho ngôn ngữ tcsh:#set count = 1while ( $* != ) echo This is parameter number $count $1 shift set count = `expr $count + 1`end6.6.3. L nh untilLệnh until có cú pháp và chức năng tương tự lệnh while. Chỉ có sự khác biệt thực sựgiữa hai lệnh là lệnh until thực thi mã trong khối của nó khi giá trị của biểu thức là saivà lệnh while thực thi các khối lệnh cảu nó nếu biểu thức có giá trị là true. Cú phápcho lệnh until trong bash và pdksh là như sau:until expressiondo commandsdoneĐể làm cho ví dụ được sử dụng với lệnh while làm việc với lệnh until, tất cả những gìbạn phải làm chỉ là phủ định điều kiện, như chỉ ra trong đoạn mã bên dưới:count=1until [ -z $* ]Upload bởi www.viet-ebook.co.cc 87do echo This is parameter number $count $1 shift count=`expr $count + 1`doneChỉ có sự khác nhau trong ví dụ này là và ví dụ về lệnh while là tùy chọn -n của lệnhtest, nó có nghĩa rằng xâu không có độ dài bằng 0, được thay bởi tùy chọn -z , nó cónghĩa là chuỗi có độ dài bằng 0. Trong thực tế, lệnh until ít được dùng bởi vì với bấtkỳ lệnh until nào, bạn cũng có thể viết được bằng lệnh while. Lệnh until không đượchỗ trợ trong tcsh.6.6.4. L nh shiftTất cả các shell bash, pdksh, và tcsh đều hỗ trợ một lệnh gọi là lệnh shift. Lệnh shiftchuyển các giá trị hiện tại được lưu trữ trong các đối số dòng lệnh lên một vị trí sangtrái. Ví dụ, nếu các giá trị của các đối số là$1 = -r $2 = file1 $3 = file2và bạn thực hiện lệnh shiftshiftkết quả các đối số được đưa vào như sau:$1 = file1 $2 = file2Bạn có thể dịch chuyển các đối số qua nhiều hơn một vị trí bởi một số xác địnhvớikèm theo với lệnh shift. Lệnh sau dịch chuyển đối số lên hai vị trí:shift 2Lệnh này rất hữu ích khi có một chương trình shell cần phân tích các tùy chọn dònglệnh. Các tùyd chọn thường được đặt trước bởi một dấu nối và một ký tự để chỉ ra tùychọn nào được sử dụng. Bởi vì các tùy chọn luôn luôn được xử lý trong một vòng lặpcủa một loại câu lệnh, bạn sẽ thường muốn nhảy đến đối ...

Tài liệu được xem nhiều: