<Trước | Nội dung | Tiếp theo>
Menus
Một loại tương tác phổ biến được gọi là hướng menu. Trong các chương trình hướng menu, người dùng được hiển thị một danh sách các lựa chọn và được yêu cầu chọn một. Ví dụ, chúng ta có thể tưởng tượng một chương trình trình bày như sau:
Xin hãy lựa chọn:
1. Thông tin hệ thống hiển thị
2. Hiển thị dung lượng đĩa
3. Hiển thị Sử dụng Không gian Nhà
0. Thoát
Nhập lựa chọn [0-3]>
Xin hãy lựa chọn:
1. Thông tin hệ thống hiển thị
2. Hiển thị dung lượng đĩa
3. Hiển thị Sử dụng Không gian Nhà
0. Thoát
Nhập lựa chọn [0-3]>
Sử dụng những gì chúng tôi học được từ việc viết sys_info_page chương trình, chúng ta có thể xây dựng một chương trình hướng menu để thực hiện các tác vụ trên menu trên:
#! / bin / bash
# read-menu: chương trình thông tin hệ thống điều khiển menu xóa
tiếng vang "
Xin hãy lựa chọn:
1. Thông tin hệ thống hiển thị
2. Hiển thị dung lượng đĩa
3. Hiển thị Sử dụng Không gian Nhà
0. Thoát "
read -p "Nhập lựa chọn [0-3]>"
#! / bin / bash
# read-menu: chương trình thông tin hệ thống điều khiển menu xóa
tiếng vang "
Xin hãy lựa chọn:
1. Thông tin hệ thống hiển thị
2. Hiển thị dung lượng đĩa
3. Hiển thị Sử dụng Không gian Nhà
0. Thoát "
read -p "Nhập lựa chọn [0-3]>"
if [[$ REPLY = ~ ^ [0-3] $]]; then if [[$ REPLY == 0]]; sau đó
echo "Chương trình đã kết thúc." lối ra
fi
if [[$ REPLY == 1]]; sau đó echo "Tên máy chủ: $ HOSTNAME" thời gian hoạt động
ra
fi
if [[$ REPLY == 2]]; sau đó df -h
ra
fi
if [[$ REPLY == 3]]; sau đó
if [[$ (id -u) -eq 0]]; sau đó
echo "Sử dụng không gian gia đình (Tất cả người dùng)" du -sh / home / *
khác
echo "Sử dụng không gian tại nhà ($ USER)" du -sh $ HOME
lối ra fi
fi khác
echo "Mục nhập không hợp lệ." > & 2 lối ra 1
fi
if [[$ REPLY = ~ ^ [0-3] $]]; then if [[$ REPLY == 0]]; sau đó
echo "Chương trình đã kết thúc." lối ra
fi
if [[$ REPLY == 1]]; sau đó echo "Tên máy chủ: $ HOSTNAME" thời gian hoạt động
ra
fi
if [[$ REPLY == 2]]; sau đó df -h
ra
fi
if [[$ REPLY == 3]]; sau đó
if [[$ (id -u) -eq 0]]; sau đó
echo "Sử dụng không gian gia đình (Tất cả người dùng)" du -sh / home / *
khác
echo "Sử dụng không gian tại nhà ($ USER)" du -sh $ HOME
lối ra fi
fi khác
echo "Mục nhập không hợp lệ." > & 2 lối ra 1
fi
Tập lệnh này được chia thành hai phần một cách hợp lý. Phần đầu tiên hiển thị menu và nhập phản hồi từ người dùng. Phần thứ hai xác định phản hồi và thực hiện hành động đã định. Lưu ý việc sử dụng ra lệnh trong tập lệnh này. Nó được sử dụng ở đây để thông báo trước cho kịch bản khỏi việc thực thi mã không cần thiết sau khi một hành động đã được thực hiện. Sự hiện diện của nhiều điểm thoát trong một chương trình nói chung là một ý tưởng tồi (nó làm cho logic của chương trình khó hiểu hơn), nhưng nó hoạt động trong tập lệnh này.
<Trước | Nội dung | Tiếp theo>