Danh sách thực thi lệnh

Một phần của tài liệu Hệ điều hành Linux (Trang 36 - 38)

†Đôi lúc chúng ta muốn kết nối các lệnh lại và thực hiện theo thứtựkiểm tra khi ra một quyết định hay thực hiện lệnh khi một trong các điều kiện là đúng †Hoàn toàn có thể dùng if để thực hiện

các yêu cầu trên nhưng shell cung cấp danh sách AND và OR gọn hơn.

phuongnh@it-hut.edu.vn 55 Danh sách AND

† Cho phép thực thi một chuỗi lệnh kề nhau, lệnh sau chỉthực hiện khi lệnh trước đã thực hiện xong và thành công.

† Cú pháp:

lệnh1 && lệnh2 && lệnh3 ....

† Bắt đầu từ bên trái, lệnh1 sẽđược thực hiện trước, nếu trảvềtrue thì lệnh2 mới được thực hiện. Nếu lệnh2 trảvềfalse thì chấm dứt danh sách AND, ngược lại lệnh3 được gọi.

† Kết quảcủa AND sẽlà true nếu tất cảcác lệnh đều được thực thi, ngược lại là false

phuongnh@it-hut.edu.vn 56 Danh sách AND - file andlist.sh

#!/bin/sh touch file1 rm -f file2

if [ -f file1 ] && echo "hello" && [ -f file2 ] && echo "there"

then

echo "in if" else

echo "in else" fi

exit 0

phuongnh@it-hut.edu.vn 57 Danh sách AND - file andlist.sh

†Chạy file này, ta được kết quả hello

in else

†Lệnh touch tạo file mới nếu file chưa tồn tại. †Lệnh rm xóa file phuongnh@it-hut.edu.vn 58 Danh sách OR †Thực thi một dãy các lệnh, nếu có một lệnh true thì việc thực thi ngừng lại. †Cú pháp: lệnh1 || lệnh2 || lệnh3 ....

†Bắt đầu từbên trái, lệnh1 được thực thi. Nếu lệnh1 trảvềfalse thì lệnh 2 được thực thi, nếu lệnh1 trảvềtrue thì các lệnh sau đó (lệnh2, lệnh3,...) không được thực thi. Cứ như vậy...

Danh sách OR - file orlist.sh

#!/bin/sh rm -f file1

if [ -f file1 ] || echo "Hello" || echo "there" then

echo "in if" else

echo "in else" fi

exit 0

Danh sách OR - file orlist.sh

†Kết quả $./orlist.sh hello in if

phuongnh@it-hut.edu.vn 61 Khối lệnh

if [ -f file1 ] && { ls -l

echo "Khoi lenh" }

then

echo "Lenh hoan thanh" fi

phuongnh@it-hut.edu.vn 62

Một phần của tài liệu Hệ điều hành Linux (Trang 36 - 38)

Tải bản đầy đủ (PDF)

(48 trang)