.L nh selec tệ

Một phần của tài liệu giáo trình linux (Trang 89 - 90)

6. Lập trình shell.

6.6.5.L nh selec tệ

Shell pdksh đưa ra một lệnh lặp mà bash và tcsh không hỗ trợ, lệnh select. Nó hơi khác với các lệnh lặp khác bởi vì nó không thực thi một khối mã lệnh shell theo một điều kiện true hoặc false. Những gì lệnh select làm là cho phép bạn tự động tạo các menu text đơn giản. Cú pháp của lệnh select như sau:

select menuitem [in list_of_items] do

commands done

Khi bạn thực thi lệnh select, pdksh tạo một đối tượng menu được đánh số cho mỗi phần tử có trong list_of_items. list_of_items này có thể là một biến chứa nhiều hơn một phần tử, chẳng hạn như choice1 choice2 hoặc nó có thể là một danh sách các lựa chọn được gõ vào từ dòng lệnh, như trong ví dụ sau:

select menuitem in choice1 choice2 choice3

Nếu danh sách list_of_items is không được cung cấp, lệnh select sử dụng các đối số dòng lệnh cho lệnh thực hiện.

Khi người sử dụng của chương trình có chứa lệnh select chọn một trong số các phần tử của menu bằng cách gõ vào số tương ứng với nó, lệnh select lưu giá trị của phần tử được lựa chọn trong biến menuitem. Các lệnh trong khối do sau đó có thể thực hiện các hoạt động trên phần tử menu này.

Dưới đây là một ví dụ về việc sử dụng lệnh select như thế nào. Ví dụ này hiển thị ba phẩn tử của menu. Khi người sử dụng chọn một phần tử, chương trình sẽ hỏi bạn xem có phải phần tử đó được lựa chọn không, nếu người sử dụng gõ khác với y hoặc Y, chương trình sẽ hiển thị lại menu.

select menuitem in pick1 pick2 pick3 do

echo "Are you sure you want to pick $menuitem" read res

if [ $res = "y" -o $res = "Y" ] then

break fi done

Ví dụ này giới thiệu một vài lệnh mới. Lệnh read được sử dụng để lấy dữ liệu vào từ người sử dụng. Nó lưu bất kỳ cái gì người sử dụng gõ vào biến xác định. Lệnh break để kết thúc vòng lặp lệnh while, select, hoặc for.

Một phần của tài liệu giáo trình linux (Trang 89 - 90)