1
3
7.2. Một số lệnh lập trình trên shell
7.2.1. Sử dụng các toán tử bash
Các toán tử string
Các toán tử string, cũng được gọi là các toán tử thay thế trong tài liệu về bash, kiểm tra
giá trị của biến là chưa gán giá trị hoặc khộng xác định. Bảng dưới là danh sách các toán tử
này cùng với miêu tả cụ thể cho chức năng của từng toán tử.
Toán tử
Chức năng
${var:- word}
Nếu biến tồn tại và xác định thì trả về giá trị của nó, nếu
không thì trả về word
${var:= word}
Nếu biến tồn tại và xác định thì trả về giá trị của nó, nếu
không thì gán biến thành word, sau đó trả về giá trị của
nó
${var:+ word}
Nếu biến tồn tại và xác định thì trả về word, còn không
thì trả về null
${var:?message}
Nếu biến tồn tại và xác định thì trả về giá trị của nó, còn
không thì hiển thị “bash: $var:$message” và thoát ra khỏi
lệnh hay tập lệnh hiện thời.
${var: offset[:length]}
Trả về một xâu con của var bắt đầu tại offset của độ dài
length. Nếu length bị bỏ qua, toàn bộ xâu từ offset sẽ
được trả về.
Các toán tử string của bash
Để minh hoạ, hãy xem xét một biến shell có tên là status được khởi tạo với giá trị
defined. Sử dụng 4 toán tử string đầu tiên cho kết quả status như sau:
$echo ${status:-undefined}
defined
$echo ${status:=undefined}
defined
$echo ${status:+undefined}
undefined
$echo ${status:?Dohhh\! undefined}
defined
Bây giờ sử dụng lệnh unset để xoá biến status, và thực hiện vẫn các lệnh đó, được
output như sau:
$unset status
$echo ${status:-undefined}
undefined
$echo ${status:=undefined}
undefined
$echo ${status:+undefined}
undefined
$unset status
$echo ${status:?Dohhh\! undefined}
bash:status Dohhh! Undefined