Computer >> Máy Tính >  >> Xử lý sự cố >> Linux

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.

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

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ó Escape 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 tệp bằng‘ cat Lệ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ụ:

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

Lưu ý :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 “ tên tệp.txt ”Làm ví dụ.

Đây ‘ mèo Lệnh ‘sẽ xem xét tệp tên dưới dạng hai đối số hơn là một đối số duy nhất. Tuy nhiên, nếu bạn sử dụng ký tự thoát hoặc dấu ngoặc kép thì bash shell sẽ coi đó là một đối số duy nhất, đây sẽ là “ tệp tên.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 các 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 thả tệp trong thiết bị đầu cuối sau lệnh ‘ cat ‘, Sẽ tự động đặt các trích dẫn trên đường dẫn / thư mục tệp)

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

    Lưu ý :Màn hình 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

    cat "file name.txt"
    Cách xử lý việc chuyển tên tệp bằng dấu cách trong Bash
  4. Các 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 phản ứng dữ dội

  1. Giữ Ctrl + Alt các 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 Desktop

    Lưu ý :Đặt tên vị trí của bạn thay cho Màn hình.

  3. Bây giờ, hãy nhập lệnh và sử dụng Escape ký tự ở bất kỳ nơi nào có khoảng trắng trong tên:
    cat file\ name.txt
    Cách xử lý việc chuyển tên tệp bằng dấu cách trong Bash

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‘ cp ‘Sẽ coi đường dẫn là nguồn tệp nếu báo giá được sử dụng toàn bộ. Bạn cần cung cấp trích dẫn cho cả nguồn điểm đế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ó.

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