Chạy 2 hoặc nhiều lệnh Terminal cùng lúc trên Linux thế nào?
Hướng dẫn chi tiết cách chạy 2 hoặc nhiều lệnh Terminal cùng lúc (hay còn gọi là command chaining) trên Linux cho bạn tham khảo.
1. Semicolon (;) Operator (dấu chấm phẩy (;))
Semicolon (;) operator là ký tự dấu chấm phẩy (;) cho phép bạn thực thi nhiều câu lệnh liên tiếp, kể cả các câu lệnh trước đó có được thực thi thành công hay không.
Cho ví dụ, mở cửa sổ Terminal lên (sử dụng tổ hợp phím Ctrl + Alt + T trên Ubuntu và Linux Mint). Sau đó bạn nhập từng lệnh một trong 3 lệnh dưới đây vào, mỗi câu lệnh cách nhau bởi dấu chấm phẩy (;) rồi nhấn Enter. Trên màn hình sẽ hiển thị danh sách các thư mục hiện tại (ls), các thư mục bạn đang sử dụng hiện tại (pwd) và hiển thị tên đăng nhập (whoami) cùng một lúc.
ls ; pwd ; whoami
Ngoài ra bạn cũng không cần sử dụng dấu cách sau dấu chấm phẩy (;) và dấu cách giữa các câu lệnh. Bạn có thể nhập 3 lệnh là ls;pwd;whoami. Tuy nhiên việc sử dụng dấu cách để người dùng có thể dễ dàng đọc hơn.
2. Logical AND Operator (&&)
Nếu muốn chạy lệnh thứ 2 sau khi chạy lệnh thứ nhất thành công, bạn có thể tách các câu lệnh bằng logical AND operator, nó là 2 ký tự (&&). Cho ví dụ, nếu muốn tạo một thư mục có tên là MyFolder và sau đó thay đổi thư mục này, bạn nhập câu lệnh dưới đây vào cửa sổ Terminal rồi nhấn Enter:
mkdir MyFolder && cd MyFolder
Thư mục sẽ được tạo thành công, sau đó lệnh cd sẽ được thực thi và bạn đang mở thư mục mới.
3. Logical OR Operator (||)
Trong một số trường hợp nếu muốn thực thi câu lệnh thứ 2 trong trường hợp chạy câu lệnh thứ nhất không thành công, bạn có thể sử dụng logical OR operator, nó là 2 ký tự (||).
Ví dụ nếu muốn kiểm tra xem thư mục MyFolder có tồn tại hay không ( [ -d ~/MyFolder ] ) và tạo một thư mục MyFolder mới nếu thư mục này không tồn tại (( mkdir ~/MyFolder ), bạn nhập câu lệnh dưới đây vào cửa sổ Terminal rồi nhấn Enter:
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Lưu ý:
- Cần đảm bảo rằng có dấu cách trong câu lệnh trên.
- Trong ví dụ trên, thư mục MyFolder không tồn tại, do đó câu lệnh thứ 2 là để tạo thư mục.
4. Kết hợp nhiều Operator
Ngoài ra bạn có thể kết hợp nhiều operator trên một câu lệnh. Chẳng hạn, đầu tiên bạn muốn kiểm tra xem nếu một tập tin tồn tại hay không ( [ -f ~/sample.txt ] ). Nếu muốn hiển thị thông báo trên màn hình, sử dụng ( echo “File exists.” ). Nếu tập tin không tồn tại, bạn có thể tạo một file mới ( touch ~/sample.txt ).
Bạn kết hợp các lệnh này thành 1 lệnh duy nhất, nhập vào cửa sổ Command Prompt rồi nhấn Enter:
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
Trong ví dụ trên, tập tin không tồn tại do đó cần tạo một tập tin mới.
Dưới đây là phần tóm tắt kết hợp các lệnh:
- A ; B – Chạy lệnh A rồi chạy lệnh B, kể cả chạy lệnh A thành công hay thất bại.
- A && B – Chỉ chạy lệnh B nếu chạy lệnh A thành công.
- A || B – Chỉ chạy lệnh B nếu chạy lệnh A thất bạị.
Nguồn: Quản trị mạng