Bài viết này sẽ hướng dẫn cách sử dụng cú pháp Case esac trong shell script, cùng với các ví dụ minh họa rõ ràng để giúp bạn hiểu rõ và áp dụng lệnh này.
Xem thêm:
1. Cú pháp lệnh case .. esac trong shell script
Câu lệnh case
là một cách để so sánh một biến với nhiều giá trị khác nhau và thực hiện các lệnh tương ứng với giá trị khớp.
Nó thường được sử dụng thay thế cho câu lệnh if-else
lồng nhau khi bạn cần so sánh một biến với nhiều giá trị.
Cú pháp của câu lệnh case bao gồm:
- Từ khóa case, theo sau là biến cần kiểm tra và từ khóa in.
- Danh sách các mẫu (pattern) để so sánh với biến, mỗi mẫu kết thúc bằng dấu ngoặc đơn ).
- Các lệnh cần thực hiện nếu mẫu khớp, kết thúc bằng dấu chấm phẩy kép ;;.
- Từ khóa esac để kết thúc câu lệnh case. esac
case $bien in mau1) # Các lệnh nếu $bien khớp với mau1 ;; mau2) # Các lệnh nếu $bien khớp với mau2 ;; *) # Các lệnh nếu $bien không khớp với bất kỳ mẫu nào ở trên ;; esac
2. Ví dụ lệnh case .. esac trong shell script
Ví dụ 1:
case "$1" in start) /usr/sbin/sshd ;; stop) kill $(cat /var/run/sshd.pid) ;; *) echo "Usage: $0 {start|stop}"; exit 1 ;; esac
Giải thích:
- Nếu chạy script với tham số
start
, nó sẽ khởi động dịch vụ SSH daemon. - Nếu chạy với tham số
stop
, nó sẽ dừng dịch vụ SSH daemon. - Nếu tham số không hợp lệ, nó sẽ hiển thị thông báo hướng dẫn cách sử dụng.
Ví dụ 2:
read -p "Enter y or n: " ANSWER case "$ANSWER" in [yY] | [yY] [eE] [sS]) echo "Your answered yes." ;; [nN] | [nN] [oO] echo "Your answered no." ;; *) echo "Invalid answered." ;; esac
Ví dụ 3:
#!/bin/sh FRUIT="kiwi" case "$FRUIT" in "apple") echo "An tao rat ngon." ;; "banana") echo "Chuoi nhieu chat dinh duong." ;; "kiwi") echo "Kiwi noi tieng o New Zealand" ;; esac
Ví dụ 4:
option="${1}" case ${option} in -f) FILE="${2}" echo "File name is $FILE" ;; -d) DIR="${2}" echo "Dir name is $DIR" ;; *) echo "`basename ${0}`:usage: [-f file] | [-d directory]" exit 1 # Command to come out of the program with status 1 ;; esac
Qua bài viết này, biết cách sử dụng lệnh Case .. esac Shell Script. Nhờ vào tính linh hoạt và dễ sử dụng, lệnh này giúp bạn kiểm soát các luồng điều kiện phức tạp trong script, tiết kiệm thời gian và tối ưu hóa quy trình làm việc. Cảm ơn bạn đã tham khảo trên ttnguyen.net.
Bài viết liên quan: