Cú pháp logic:
cm1||cmd2: chỉ duy nhất một trong hai cmd được thực hiện cho status = 0. Vì command sau chỉ hoạt động nếu command trước trả về status != 0.
cmd1&&cmd2: đảm bảo cả hai cmd đều được thực hiện cho status = 0. Vì command sau chỉ hoạt động nếu command trước trả về status = 0
Trên linux, mỗi một cmd được thực hiện đều trả về một status. Status == 0 là lệnh thực hiện thành công. Status != 0 là lệnh thực hiện không thành công.
Ví dụ:
ls /tmp/testing||mkdir /tmp/testing
In ra directory /tmp/testing nếu nó tồn tại, nếu không thì tạo dierctory đó.
[ -f /tmp/test ]&&echo "File is exist"||echo "File is not exists"
Kiểm tra /tmp/test có tồn tại hay không. Nếu tồn tại, status trả về 0, chạy tiếp lệnh echo "File is exists", status tiếp tục trả về 0 làm cho command cuối không thực hiệnđược
Nếu /tmp/test không tồn tại, status trả về khác 0, câu lệnh thứ hai không thực hiện được, tiếp đến câu lệnh cuối thực hiện được vì status hiện thời đang là != 0.
Không có nhận xét nào:
Đăng nhận xét