Chương 3 Bash
3.3.3 Thao tác && và
Các thao tác && và II lá những thao tác điều khiển. Nếu trên dòng lệnh là com m andl & & conimand2, thì command2 sẽ thực hiện và chỉ thực hiện trong trường hợp trạng thái thoát ra của lệnh
command 1 bằng không (0), tức là lệnh đó thực hiện thành công. Một cách tương tự, nếu dòng lệnh có dạng com m andl I I corrunand2, thì command2 sẽ thực hiện và chỉ thực hiện khi trạng thái thoát của lệnh command 1 khác không. Chúng ta sẽ không xem xét mặt kỹ thuật của
30 Bash
việc thực hiện một câu lệnh nào đó. Chl có thể nói ngắn gọn rằng, hệ vỏ phải tìm mã (code) chương trình, nạp mã đó vào bộ nhớ, chuyển các tham số đã nhập trên dòng lệnh vào cho câu lệnh, và sau khi thực hiện xong thì theo một cách nào đó trả lại kết quả thực hiện lệnh này cho người dùng hay tiến trình khác. Chúng ta sẽ xem xét qua các bước này. Bước đầu tiên - tìm kiếm câu lệnh. Các câu lệnh chia thành hai loại: nội trú (mã của chúng có trong mã của chính hệ vỏ) và ngoại trú (mã của chúng nằm trong một tập tin riêng lẻ trên đĩa). Hệ vỏ luôn luôn tìm thấy lệnh nội trú, còn để tìm các lệnh ngoại trú người dùng, theo nguyên tắc, phải chỉ cho hệ vỏ đường dẫn đầy đủ tối tập tin tương ứng. Tuy nhiên để gỡ "gánh nặng" cho người dùng hệ vỏ biết cách tìm lệnh ngoại trá trong các thư mục, mà được liệt kê trong đường dẫn
tìm kiếm. Chỉ khi (hệ vỏ) không thể tìm thấy tập tin cần thiết trong các thư mục đó, nó mới
quyết định rằng người dùng đã nhầm khi nhập tên lệnh, về cách thêm thư mục vào đường dẫn tìm kiếm chúng ta sẽ nói đến ở dưới, còn bây giờ chúng ta sẽ xem xét cách hệ vỏ tổ chức việc đưa dữ liệu vào cho câu lệnh đang thực hiện và việc đưa kết quả tới cho người dùng.
3.4 Dầu vào/đầu ra tiêu chuẩn