Cách xử lý việc chuyển tên tệp bằng dấu cách trong Bash

Linux có một shell mặc định Bash (hay còn gọi là Bourne lại shell) để thực thi các lệnh cho hệ thống. Hầu hết các lập trình viên thích bash hơn cmd vì tính linh hoạt và trình thông dịch dòng lệnh mạnh mẽ mà bash cung cấp. Tuy nhiên, hầu hết người dùng vẫn sẽ gặp sự cố khi cố gắng xử lý việc chuyển các tên tệp có dấu cách trong bash. Điều này là do các khoảng trắng không được coi là giống nhau trong bash như chúng trong tên tệp.

Tại sao tên tệp có dấu cách không được Bash nhận dạng?

Trong Bash, nếu bạn nhập nhiều từ mà không có bỏ trốn ký tự (\) hoặc trích dẫn, nó sẽ coi tất cả các từ là đối số. Điều đó áp dụng cho tất cả các hoạt động, cho dù bạn đang thay đổi thư mục bằng ‘CD‘Hoặc cố gắng truy cập các tệp bằng‘con mèoLệnh ‘. Bất cứ điều gì bạn viết sau khi sử dụng chúng sẽ được coi là một đối số. Ví dụ:

tệp cat name.txt

Ghi chú: Tên tệp của bạn có thể là bất kỳ thứ gì nhưng đối với bài viết này, chúng tôi sẽ sử dụng “file name.txt”Làm ví dụ.

Đây 'con mèoLệnh ‘sẽ xem xét tập tinTên dưới dạng hai đối số thay vì một đối số duy nhất. Tuy nhiên, nếu bạn sử dụng ký tự thoát hoặc trích dẫn thì bash shell sẽ coi đó là một đối số duy nhất, đó sẽ là “file name.txt“.

Tên tệp có Dấu cách trong Bash

Có một số phương pháp có thể được sử dụng cho các khoảng trắng trong tên. Cách tốt nhất là tránh khoảng trắng cho tên tệp trong tương lai. Một phương pháp đơn giản sẽ là đổi tên tệp mà bạn đang cố gắng truy cập và xóa khoảng trắng. Một số phương pháp khác đang sử dụng các dấu ngoặc kép trên tên tệp có dấu cách hoặc sử dụng biểu tượng thoát (\) ngay trước dấu cách. Chúng tôi sẽ cung cấp các phương pháp với các ví dụ được áp dụng để cho bạn thấy nó hoạt động như thế nào.

Phương pháp 1: Sử dụng Báo giá đơn và Báo giá kép

  1. Giữ Ctrl + Alt phím và Nhấn T mở Thiết bị đầu cuối.
  2. Bây giờ hãy thay đổi thư mục thành nơi chứa tệp.
    (bạn cũng có thể kéo rơi vãi tệp trong thiết bị đầu cuối sau lệnh ‘con mèo‘, Sẽ tự động đặt các trích dẫn trên đường dẫn / thư mục tệp)

    cd Máy tính để bàn

    Ghi chú: Màn hình nền có thể được thay đổi thành vị trí bạn đang cố gắng truy cập.

  3. Nhập lệnh sau để đọc tệp văn bản có khoảng trắng trong tên:
    cat 'file name.txt'

    hoặc là

    cat "file name.txt"
  4. Trích dẫn đơn và trích dẫn kép sẽ dẫn đến kết quả giống nhau. Trong một số trường hợp, bạn cần thử cả hai và xem cái nào hiệu quả.

Phương pháp 2: Sử dụng ký tự thoát backlash

  1. Giữ Ctrl + Alt phím và Nhấn T mở Thiết bị đầu cuối.
  2. Thay đổi thư mục thành nơi chứa tệp bằng cách sử dụng lệnh sau.
    cd Máy tính để bàn

    Ghi chú: Đặt tên vị trí của bạn thay cho Màn hình nền.

  3. Bây giờ gõ lệnh và sử dụng bỏ trốn ký tự ở bất kỳ nơi nào có khoảng trắng trong tên:
    tệp mèo \ name.txt

Phần thưởng: Sử dụng Báo giá và Thoát

Đôi khi khi bạn đang sử dụng thư mục trong lệnh, có thể có hậu quả khi sử dụng dấu ngoặc kép trên đường dẫn tổng thể. Điều này là do một số lệnh như ‘mv' hoặc là 'cp‘Sẽ coi con đường là nguồn tập tin nếu báo giá được sử dụng toàn bộ. Bạn cần cung cấp báo giá cho cả hai nguồnNơi Đến riêng lẻ để các lệnh như ‘cp‘Có thể hoạt động bình thường. Bạn cũng có thể kiểm tra ví dụ dưới đây sẽ cho bạn thấy rằng việc sử dụng ký tự thoát cho đường dẫn phức tạp hơn nhiều và người dùng có thể mắc lỗi với nó.

Facebook Twitter Google Plus Pinterest