Hướng dẫn fix lỗi “unexpected token `$’do\r” khi chạy file bash

Nguyên nhân: Lỗi này là do lúc soạn thảo file bash trên hệ điều hành Windows, để chạy trên linux cần phải xóa dấu \r (ẩn)

Cách 1: Chuyển đổi ký tự khoảng trắng \r sang định dạng của linux

Gõ lệnh

awk '{ sub("\r$", ""); print }'sh-copy.sh > sh-copy2.sh

lệnh này sẽ convert các ký tự \r và sao chép nội dung ra một file khác (sh-copy2)

file sh-copy2.sh là file có thể chạy trên linux.

Cách 2: quy định kiểu đọc trong file

Mở file, ở phần đầu sau #!/bin/bash dòng lệnh

:set ff=unix

Lưu lại file.


Leave a Reply