OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

trường hợp

In bash, lệnh ghép nhiều lựa chọn được gọi là trường hợp. Nó có thuế tổng hợp sau:

trường hợp lời in

[Belt Hold [| Belt Hold] ...) lệnh ;;] ...

nó C

Nếu chúng ta nhìn vào menu đọc chương trình từ Chương 28, chúng tôi thấy logic được sử dụng để hành động trên lựa chọn của người dùng:



#! / 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 đó

#! / 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

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


Sử dụng trường hợp, chúng ta có thể thay thế logic này bằng một cái gì đó đơn giản hơn:


#! / bin / bash

# case-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]>"


trường hợp $ REPLY trong

0) echo "Chương trình đã kết thúc." lối ra

;;

#! / bin / bash

# case-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]>"


trường hợp $ REPLY trong

0) echo "Chương trình đã kết thúc." lối ra

;;


1) thời gian hoạt động của echo "Tên máy chủ: $ HOSTNAME"

;;

2) df -h

;;

3) 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

fi

;;

*) echo "Mục nhập không hợp lệ"> & 2 lối ra 1

;;

nó C

1) thời gian hoạt động của echo "Tên máy chủ: $ HOSTNAME"

;;

2) df -h

;;

3) 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

fi

;;

*) echo "Mục nhập không hợp lệ"> & 2 lối ra 1

;;

nó C


trường hợp lệnh xem xét giá trị của lời, trong ví dụ của chúng tôi, giá trị của ĐÁP LẠI và sau đó cố gắng so khớp nó với một trong những mô hình. Khi một kết quả phù hợp được tìm thấy, lệnh được liên kết với mẫu được chỉ định được thực thi. Sau khi một trận đấu được tìm thấy, không có trận đấu nào khác được cố gắng.


 

Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: