NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
04/09/2024
Lượt xem

Xử lý lỗi Bash: syntax error near unexpected token thông qua 2 ví dụ chi tiết

04/09/2024
7 phút đọc
Lượt xem

Đánh giá

Lỗi Bash: syntax error near unexpected token là một trong những lỗi thường gặp khi làm việc trên Bash shell. Lỗi này thường xuất hiện khi có sai sót trong cú pháp lệnh, khiến Bash không thể hiểu và thực thi đúng yêu cầu của bạn. Bài viết dưới đây Vietnix sẽ giúp bạn tìm hiểu kỹ hơn về nguyên nhân gây ra lỗi và 2 ví dụ về cách khắc phục hiệu quả.

Nguyên nhân gây ra lỗi cú pháp không như mong muốn trong môi trường Bash

Lỗi Bash: syntax error near unexpected token (cú pháp không như mong muốn) thường xuất hiện khi bạn sử dụng dấu ngoặc đơn () hoặc dấu ngoặc nhọn <> không đúng cách trong lệnh Bash trên hệ điều hành Linux. Bash hiểu các dấu ngoặc này là các ký tự đặc biệt và bất kỳ lệnh nào có chứa dấu ngoặc sẽ gây ra lỗi.

Lỗi Bash: syntax error near unexpected token
Lỗi Bash: syntax error near unexpected token

Ví dụ: Bạn muốn tạo một thư mục tên là LinuxSimply(Bash) trong thư mục hiện tại bằng lệnh mkdir. Do có dấu ngoặc đơn () trong tên thư mục nên lệnh sẽ báo lỗi Bash: syntax error near unexpected token.

Bên cạnh đó, bạn cần để ý những lỗi sai sót khi đánh máy như chính tả, cú pháp lệnh để tiện hiện lỗi không tìm thấy lệnh từ ban đầu Bash: command not found nhằm kịp thời cài đặt đường dẫn biến PATH để xử lý.

Ngoài ra, bạn có thể tham khảo các câu lệnh trong Linux để thực hiện tập lệnh (script) hiệu quả hơn xử lý các lỗi thường gặp trên môi trường Bash

Ví dụ 1: Sử dụng dấu gạch chéo ngược trước dấu ngoặc đơn

Để tránh lỗi Bash: syntax error near unexpected token, bạn có thể thêm một dấu gạch chéo ngược \ trước mỗi dấu ngoặc đơn (). Khi bạn đặt \ trước dấu ngoặc đơn (), bash sẽ hiểu đó là một ký tự bình thường, không phải là ký tự đặc biệt dùng để nhóm lệnh hay thay thế lệnh.

Ví dụ: Để tạo thư mục có tên LinuxSimply(Bash), bạn hãy sử dụng lệnh mkdir sau:

mkdir Vietnix\(Bash\)
Sử dụng dấu gạch chéo ngược trước dấu ngoặc đơn
Sử dụng dấu gạch chéo ngược trước dấu ngoặc đơn

Như bạn thấy trong hình minh hoạ ở trên, lệnh ls -l xác nhận thư mục Vietnix(Bash) đã được tạo thành công mà không gặp lỗi.

Ví dụ 2: Đặt đối số của lệnh trong dấu nháy đơn hoặc dấu nháy kép

Bạn cũng có thể đặt đối số của lệnh trong dấu nháy đơn ‘ ’ hoặc dấu nháy kép “ ” để ngăn Bash hiểu dấu ngoặc đơn là ký tự đặc biệt.

Ví dụ: Nếu muốn chạy lệnh mkdir LinuxSimply(Basic), bạn hãy đặt đối số trong dấu nháy đơn:

mkdir 'Vietnix(Basic)'
Đặt đối số của lệnh trong dấu nháy đơn hoặc dấu nháy kép
Đặt đối số của lệnh trong dấu nháy đơn hoặc dấu nháy kép

Như hình ở trên, dấu nháy đơn giúp tránh lỗi “syntax error near unexpected token” và tạo thư mục Vietnix(Basic) thành công. Bạn có thể kiểm tra lại bằng lệnh ls để xem danh sách các file và thư mục trong thư mục hiện tại.

Cách xử lý lỗi cú pháp gần dòng mới mã thông báo không mong muốn

Lỗi syntax error near unexpected token newline (cú pháp gần dòng mới mã thông báo không mong muốn) thường xảy ra khi sử dụng dấu ngoặc nhọn (<, >) không đúng cách trong lệnh Bash. Dấu ngoặc nhọn thường được dùng để chuyển hướng input/output của lệnh. Nếu không sử dụng đúng cách, Bash sẽ báo lỗi vì không tìm thấy dữ liệu hoặc lệnh sau dấu ngoặc nhọn.

Ví dụ: Lệnh sort đặt theo cú pháp sort< sẽ gây ra lỗi vì không có file hoặc lệnh nào sau dấu ngoặc nhọn.

Lỗi syntax error near unexpected token newline
Lỗi syntax error near unexpected token newline

Để sửa lỗi syntax error near unexpected token newline, bạn cần đảm bảo có file hoặc lệnh hợp lệ sau dấu ngoặc nhọn như hình minh hoạ bên dưới:

File hoặc lệnh hợp lệ sau dấu ngoặc nhọn
File hoặc lệnh hợp lệ sau dấu ngoặc nhọn

Trong trường hợp này, fruit.txt là file văn bản chứa tên các loại trái cây chưa được sắp xếp. Lệnh sort sẽ chuyển hướng nội dung của file và trả về danh sách tên trái cây theo thứ tự bảng chữ cái.

Bên cạnh mục đích chuyển hướng, bạn có thể sử dụng dấu nháy đơn hoặc dấu nháy kép để bao quanh dấu ngoặc nhọn nếu cần hiển thị chúng theo đúng nghĩa đen:

Ví dụ: Cú pháp lệnh echo: echo ‘<hello world>’ sẽ in ra chuỗi <hello world>.

Sử dụng dấu nháy đơn hoặc dấu nháy kép để bao quanh dấu ngoặc nhọn
Sử dụng dấu nháy đơn hoặc dấu nháy kép để bao quanh dấu ngoặc nhọn

Câu hỏi thường gặp

Cách sửa lỗi cú pháp error near unexpected token newline trong Bash?

Bạn hãy sử dụng dấu gạch chéo ngược \ trước các ký tự đặc biệt như dấu ngoặc đơn, dấu ngoặc nhọn hoặc đặt toàn bộ đối số của lệnh trong dấu nháy đơn ‘ ‘ hoặc kép ” “.

Làm thế nào để kiểm tra lỗi cú pháp trong Bash?

Bạn hãy sử dụng lệnh bash với tùy chọn -n theo sau tên file script. Ví dụ:
bash -n script_name.sh

Cách để sửa lỗi phân tích cú pháp unexpected token?

Bạn cần kiểm tra kỹ các cặp dấu mở và đóng như dấu nháy, ngoặc đơn, ngoặc nhọn và chú ý đến các ký tự đặc biệt cần thoát bằng dấu gạch chéo ngược \.
Ngoài ra bạn cần xác định dòng xảy ra lỗi và kiểm tra kỹ đoạn code xung quanh để tìm ra lỗi cú pháp.

Lời kết

Bài viết trên của Vietnix đã cung cấp đến bạn nguyên nhân dẫn đến và 2 ví dụ về cách khắc phục lỗi Bash: syntax error near unexpected token. Nắm rõ về lỗi này sẽ giúp bạn viết các script Bash chính xác và hiệu quả hơn. Chúc bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG