<Trước | Nội dung | Tiếp theo>
Các nhà khai thác điều khiển: Một cách khác để phân nhánh
bash cung cấp hai toán tử điều khiển có thể thực hiện phân nhánh. && (AND) và || Các toán tử (OR) hoạt động giống như các toán tử logic trong lệnh ghép [[]]. Đây là cú pháp:
lệnh1 && lệnh2
và
lệnh1 || lệnh2
Điều quan trọng là phải hiểu hành vi của những điều này. Với && nhà điều hành, lệnh1 được thực hiện và lệnh2 được thực thi nếu, và chỉ khi, lệnh1 là thành công. Với || nhà điều hành, lệnh1 được thực hiện và lệnh2 được thực thi nếu, và chỉ khi, lệnh1 là không thành công.
Về mặt thực tế, điều đó có nghĩa là chúng ta có thể làm điều gì đó như sau:
[tôi @ linuxbox ~] $ mkdir temp && cd temp
[tôi @ linuxbox ~] $ mkdir temp && cd temp
Điều này sẽ tạo một thư mục có tên tạmvà nếu thành công, thư mục làm việc hiện tại sẽ được thay đổi thành tạm. Lệnh thứ hai chỉ được thử nếu mkdir com- quan thành công. Tương tự như vậy, một lệnh như thế này:
[tôi @ linuxbox ~] $ [[-d temp]] || mkdir temp
[tôi @ linuxbox ~] $ [[-d temp]] || mkdir temp
sẽ kiểm tra sự tồn tại của thư mục tạm, và chỉ khi thử nghiệm không thành công, chỉ thị mới được tạo. Loại cấu trúc này rất tiện dụng để xử lý các lỗi trong script, một phụ đề chúng ta sẽ thảo luận thêm trong các chương sau. Ví dụ: chúng ta có thể làm điều này trong một script:
[-d temp] || lối ra 1
[-d temp] || lối ra 1
Nếu tập lệnh yêu cầu thư mục tạm, và nó không tồn tại, thì tập lệnh sẽ kết thúc với trạng thái thoát là một.
<Trước | Nội dung | Tiếp theo>