Contents
1. Giới thiệu
Trong môi trường Linux, việc thực thi các lệnh theo trình tự cụ thể là một kỹ năng cần thiết đối với system admin và lập trình viên (dev). Việc kiểm soát quá trình thực thi các lệnh không chỉ giúp tiết kiệm thời gian mà còn đảm bảo các lệnh quan trọng được thực hiện chính xác.
Bài viết này sẽ hướng dẫn chi tiết các phương pháp thực thi lần lượt các lệnh trong Linux, từ các toán tử logic, script Bash cho đến các khối lệnh phức tạp. Hãy cùng khám phá nhé!
2. Các phương pháp thực thi lệnh lần lượt trong Linux
2.1. Sử dụng dấu chấm phẩy
Dấu chấm phẩy (;) là phương pháp đơn giản nhất để thực thi các lệnh lần lượt, bất kể lệnh trước có thành công hay không.
Cú pháp:
command1; command2; command3
Ví dụ:
echo “begin”; ls -l; pwd
Giải thích:
- In ra thông báo “begin”
- Liệt kê tệp và thư mục
- Hiển thị thư mục hiện tại
Lưu ý: Các lệnh sẽ luôn được thực thi lần lượt, ngay cả khi một lệnh bị lỗi hay thất bại.
2.2. Sử dụng toán tử AND logic (&&****)
Toán tử && cho phép lệnh tiếp theo chỉ được thực thi nếu lệnh trước đó thành công.
command1 && command2 && command3
Ví dụ:
mkdir /tmp/test && cd /tmp/test && touch file1.txt
Giải thích:
- Tạo thư mục /tmp/test
- Chuyển vào thư mục vừa tạo
- Tạo tệp file1.txt
Lưu ý: Nếu mkdir không thành công, các lệnh cd và touch sẽ không được thực hiện.
2.3. Sử dụng toán tử OR logic (||****)
Toán tử || cho phép thực thi lệnh tiếp theo nếu lệnh trước đó thất bại.
Cú pháp:
command1 || command2
Ví dụ:
ls /khong_ton_tai || echo “Thư mục không tồn tại”
Giải thích:
- Lệnh ls cố gắng liệt kê thư mục không tồn tại trong Linux Filesystem
- Do lệnh ls thất bại, lệnh echo sẽ in ra thông báo “Thư mục không tồn tại”

2.4. Kết hợp && và **||
Kết hợp && và || để kiểm soát chặt chẽ hơn quy trình thực thi lệnh.
Ví dụ:
mkdir /tmp/demo && echo “Thư mục đã được tạo thành công” || echo “Không thể tạo thư mục”
Giải thích:
- Nếu lệnh mkdir thành công, thông báo “Thư mục đã được tạo thành công” sẽ hiển thị.
- Nếu lệnh mkdir thất bại, thông báo “Không thể tạo thư mục” sẽ hiển thị.

2.5. Sử dụng dấu ngoặc nhọn **{}
Dấu ngoặc nhọn {} cho phép bạn nhóm các lệnh thành một khối lệnh duy nhất.
Cú pháp:
{ command1; command2; command3; }
Ví dụ:
{ echo “Hello”; ls -l; pwd; }
Giải thích:
- Script sẽ thực thi lần lượt các lệnh echo, ls, và pwd.

2.6. Sử dụng script Bash
Nếu bạn cần thực thi nhiều lệnh, việc sử dụng tập lệnh Bash sẽ giúp bạn dễ dàng quản lý hơn.
Bước 1: Tạo file script commands.sh
nano commands.sh
Bước 2: Thêm nội dung sau vào file:
#!/bin/bash
echo “Begin”
ls -l
pwd
Bước 3: Lưu và cấp quyền thực thi cho script
chmod +x commands.sh
Bước 4: Thực thi script
./commands.sh
Giải thích:
- Script sẽ thực thi lần lượt các lệnh echo, ls, và pwd.

2.7. Sử dụng lệnh vòng lặp (Loop)
Bạn có thể sử dụng vòng lặp để thực thi các lệnh nhiều lần.
Ví dụ:
#!/bin/bash
for file in file1.txt file2.txt file3.txt; do
echo “Create $file”
touch $file
done
Giải thích:
- Vòng lặp duyệt qua danh sách file1.txt, file2.txt, file3.txt và tạo file tương ứng.

3. Các câu hỏi thường gặp (FAQ)
1. Làm thế nào để dừng thực thi lệnh ngay khi có lỗi?
Sử dụng lệnh sau trong script Bash:
set -e
Lệnh này sẽ dừng script nếu bất kỳ lệnh nào gặp lỗi.
2. Có thể sử dụng && và || trong cùng một dòng lệnh không?
Có, bạn có thể kết hợp cả && và || như sau:
mkdir /tmp/demo && echo “Thành công” || echo “Thất bại”
3. Sự khác biệt giữa {} và () là gì?
- {} thực thi các lệnh trong cùng một shell hiện tại.
- () thực thi các lệnh trong một subshell mớ
4. Làm thế nào để tạo một Bash script để thực thi các lệnh?
Tạo file script commands.sh, thêm các lệnh và cấp quyền thực thi bằng lệnh:
chmod +x commands.sh
Chạy script như sau:
./commands.sh
5. Có thể thực thi lệnh trong nền (background) không?
Có, sử dụng ký tự & để thực thi lệnh trong background:
long_running_command &
4. Kết luận
Việc thực thi lần lượt các lệnh trong Linux là một kỹ năng quan trọng cho các system admin và lập trình viên. Bài viết này đã đề cập đến các phương pháp phổ biến nhất, từ các toán tử logic, vòng lặp, tập lệnh Bash đến các khối lệnh.
Tóm tắt các phương pháp:
| Phương pháp | Ký hiệu | Ý nghĩa | ||
| Dấu chấm phẩy | ; | Thực thi lần lượt bất kể lỗi | ||
| Toán tử AND | && | Thực thi nếu lệnh trước thành công | ||
| Toán tử OR | ` | Thực thi nếu lệnh trước thất bại | ` | |
| Vòng lặp | for/while | Lặp lại lệnh nhiều lần | ||
| Tập lệnh Bash (script) | chmod +x script.sh | Tập hợp để chạy nhiều lệnh trong một file |
Hy vọng bài viết này hữu ích cho bạn. Hãy áp dụng ngay các phương pháp trên trong công việc của bạn nhé, và đừng quên chia sẻ bài viết này với mọi người!

