Cách chạy nhiều lệnh trong Linux

How Run Multiple Commands Linux



Các loại lệnh khác nhau là cần thiết để chạy từ thiết bị đầu cuối trong Linux. Đôi khi chúng ta cần chạy nhiều lệnh một lúc mà các lệnh có thể phụ thuộc vào nhau hoặc không. Chạy nhiều lệnh cùng một lúc được gọi là chuỗi lệnh. Nhiều loại toán tử có thể được sử dụng để xâu chuỗi lệnh cho các mục đích khác nhau. Cách bạn có thể chạy hai hoặc nhiều lệnh bằng cách sử dụng các toán tử được sử dụng phổ biến nhất được trình bày trong hướng dẫn này.

toán tử pipe (|) được sử dụng để chạy hai hoặc nhiều lệnh liên quan cùng một lúc. Đầu vào của lệnh tiếp theo sẽ là đầu ra của lệnh trước đó. Vì vậy, sự thành công của mỗi lệnh phụ thuộc vào sự thành công của lệnh trước đó mà không có lệnh đầu tiên. Trong lệnh sau, lệnh đầu tiên, ls sẽ tìm ra danh sách các tệp và thư mục của vị trí hiện tại và gửi đầu ra dưới dạng đầu vào cho lệnh thứ hai, wc . Nó sẽ in ra tổng số dòng, từ và ký tự dựa trên dữ liệu đầu vào.







$ls -NS | wc may mắn thay



Toán tử dấu chấm phẩy (;)

Toán tử dấu chấm phẩy (;) được sử dụng để chạy hai hoặc nhiều lệnh không liên quan cùng một lúc. Điều này có nghĩa là đầu ra của mỗi lệnh không phụ thuộc vào các lệnh khác. Trong ví dụ sau, ba loại lệnh được kết hợp với nhau và sự thất bại của mỗi lệnh sẽ không tạo ra ảnh hưởng đến kết quả của các lệnh khác. Lệnh đầu tiên sẽ in nội dung của một tập tin, lệnh thứ hai sẽ tạo một thư mục và lệnh thứ ba sẽ thay đổi thư mục hiện tại.



$con mèomyfile.txt;mkdirnewdir;đĩa CDMáy tính để bàn





Toán tử logic AND (&&)

Các lệnh chạy bởi Logical AND (&&) có liên quan với nhau như lệnh pipe (|). Vì vậy, nếu lệnh trước đó sẽ không thực hiện thành công thì các lệnh tiếp theo sẽ không hoạt động. Trong ví dụ sau, hai lệnh mkdir và rmdir được kết hợp bởi toán tử &&. Vì vậy, lệnh mkdir không thực thi thành công thì lệnh rmdir sẽ không thực thi. Theo kết quả đầu ra của lệnh ls, thư mục myDir đã tồn tại ở vị trí hiện tại. Vì vậy, lệnh đầu tiên sẽ không thực thi và đối với lệnh thứ hai này cũng sẽ không thực hiện.

$ls
$mkdirmyDir&& rmdirnhân viên bán thời gian
$ls



Toán tử logic OR (||)

Toán tử logic OR (||) ngược lại với toán tử logic AND (&&). Lệnh tiếp theo sẽ thực thi nếu lệnh trước đó không thực hiện được. Ba lệnh cat được kết hợp với toán tử OR (||) trong ví dụ sau. Khi bạn chạy lệnh, trước hết, nó sẽ cố gắng hiển thị nội dung của tệp cat.txt. Nếu không có tệp nào như vậy tồn tại ở vị trí hiện tại thì nó sẽ cố gắng thực hiện lệnh tiếp theo. Theo kết quả đầu ra, tệp bird.txt tồn tại ở vị trí hiện tại và nội dung của tệp này được hiển thị.

$ cat cat.txt || con chó mèo.txt || cat bird.txt

Nhiều lệnh với nhiều toán tử

Bạn có thể sử dụng nhiều toán tử để chạy nhiều lệnh cùng một lúc. Trong ví dụ sau, ba lệnh được kết hợp với các toán tử OR (||) và AND (&&). Sau khi chạy lệnh, trước hết, nó sẽ thay đổi thư mục hiện tại thành newdir nếu thư mục đó tồn tại. Nếu lệnh này không thành công thì nó sẽ tạo thư mục bằng cách thực hiện lệnh thứ hai và in ra thông báo, thư mục được tạo. Theo kết quả đầu ra, thư mục newdir không tồn tại ở vị trí hiện tại. Vì vậy, thông báo lỗi được hiển thị và thư mục được tạo sau này.

$đĩa CDnewdir|| mkdirnewdir&& quăng đi 'thư mục được tạo'

Toán tử kết hợp {}

Hai hoặc nhiều lệnh có thể được kết hợp bằng cách sử dụng toán tử này và nếu việc thực hiện lệnh đầu tiên không thành công thì lệnh thứ hai sẽ không thực hiện. Trong ví dụ sau, OR, AND và các toán tử kết hợp được sử dụng cùng nhau. Lệnh đầu tiên sẽ kiểm tra thư mục tạm thời có tồn tại ở vị trí hiện tại hay không. Nếu lệnh đầu tiên không thành công thì nó sẽ tạo một thư mục tạm thời và in một tin nhắn. Lệnh cuối cùng sẽ hiển thị danh sách thư mục hiện tại.

$[ -NSnhân viên bán thời gian] || { mkdirnhân viên bán thời gian;quăng đithư mục tạm thời được tạo ngay bây giờ .;} && ls

Toán tử ưu tiên ()

Bạn có thể sử dụng toán tử này để nhóm các lệnh tại thời điểm thực thi. Ở đây, mỗi nhóm sẽ làm một nhiệm vụ duy nhất. Trong ví dụ sau, hai nhóm lệnh được xác định và nếu nhóm đầu tiên không thực hiện được thì nhóm thứ hai sẽ thực thi.

$(đĩa CDnhân viên bán thời gian&& ls-đến) || (mkdirnhân viên bán thời gian&& ls)

Phần kết luận

Hướng dẫn này giải thích các toán tử thường được sử dụng để chạy nhiều lệnh trong Linux. Nhưng có nhiều toán tử khác tồn tại trong bash được sử dụng để chạy hai hoặc nhiều lệnh cùng nhau. Đây là các dấu và (&), chuyển hướng (, >>), logic NOT (!), Kết hợp ({}), v.v.