Điểm:0

Sửa đổi đường dẫn để bao gồm dấu ngoặc kép

lá cờ cn

Ubuntu được cài đặt trên hệ điều hành Windows. Tôi đã tìm kiếm và tìm ra cách thêm một đường dẫn mới nhưng tôi không hoàn toàn hiểu cách sửa đổi một đường dẫn đã tồn tại và sau đó thêm dấu ngoặc kép xung quanh các đường dẫn có dấu cách. Tôi có những điều sau đây trong đường dẫn:

PATH=/usr/local/cuda-11.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr /local/games:/mnt/c/Program Files/Common Files/Oracle/Java/javapath:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/ mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files/Git/cmd:/mnt/c/Python27:/mnt/c/Python27 /Scripts:/mnt/c/Program Files/PuTTY:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/amason1 /AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin

Làm cách nào để sửa đổi đường dẫn để đặt dấu ngoặc kép xung quanh Tệp chương trình trong/mnt/c/Tệp chương trình/Git/cmd?

vanadium avatar
lá cờ cn
Một số "vệ sinh" trong PATH của bạn có thể được đảm bảo: bạn không thể có đường dẫn cho mọi tệp thực thi ở mọi nơi trong hệ thống của mình. Thay vào đó, hãy học cách làm việc với các liên kết tượng trưng hoặc tập lệnh bao bọc được đặt trong một thư mục trong đường dẫn hiện tại của bạn. Đường dẫn quá dài rất khó duy trì và đôi khi có thể làm chậm việc khởi chạy ứng dụng.
Sunshine avatar
lá cờ cn
Cảm ơn vanadi. Tôi đánh giá cao thông tin phản hồi.
Điểm:1
lá cờ uz
Jos

Điều này sẽ làm việc:

PATH=/usr/local/cuda-11.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr /local/games:"/mnt/c/Program Files/Common Files/Oracle/Java/javapath":/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem :/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:"/mnt/c/Program Files/Git/cmd":/mnt/c/Python27:/mnt /c/Python27/Scripts:"/mnt/c/Program Files/PuTTY":"/mnt/c/Program Files/Docker/Docker/resources/bin":/mnt/c/ProgramData/DockerDesktop/version-bin: "/mnt/c/Users/amason1/AppData/Local/Programs/Microsoft VS Code/bin":/snap/bin

Về cơ bản, bạn đặt dấu ngoặc kép (") xung quanh các tên thư mục chứa khoảng trắng, chẳng hạn như:

/mnt/c/Tệp chương trình/Tệp chung/Oracle/Java/javapath

vì vậy họ trở thành

"/mnt/c/Tệp chương trình/Tệp chung/Oracle/Java/javapath" 

Ngoài ra, thoát khỏi không gian với \ nhân vật, như trong:

/mnt/c/Program\ Files/Common\ Files/Oracle/Java/javapath 

Vui lòng kiểm tra kỹ lệnh trên trước khi ban hành, nếu không bạn có thể gặp sự cố.

Sunshine avatar
lá cờ cn
Cảm ơn vì bạn đã phản hồi.Tôi có thiếu một bước không? Tôi đã thử lệnh sau khi kiểm tra lại nhưng tôi vẫn gặp sự cố tương tự. Không có đường dẫn nào có dấu cách được bao quanh trong dấu ngoặc kép nếu tôi thực hiện printenv sau khi ban hành lệnh. Tôi cũng đã thử thoát khoảng trắng bằng ký tự \. Không cập nhật đường dẫn. Tôi cũng đã mở một cửa sổ đầu cuối mới sau những thay đổi này. Cho đến nay, tôi vẫn chưa tìm ra cách áp dụng các thay đổi và chúng vẫn còn trong hệ thống.
vanadium avatar
lá cờ cn
Điều bình thường là các dấu ngoặc kép hoặc dấu thoát không hiển thị trong chính biến PATH. Bây giờ tôi nhận ra rằng tất cả chúng ta đang hiểu sai câu hỏi của bạn. Sử dụng dấu thoát hoặc dấu ngoặc đơn để chèn dấu ngoặc kép vào chính biến đó, nhưng hãy đảm bảo rằng bạn biết lý do tại sao bạn muốn điều này.
Sunshine avatar
lá cờ cn
Tôi không chắc mình đang làm gì sai. Tôi đã thử sử dụng dấu ngoặc đơn và dấu ngoặc kép, cùng với ký tự thoát một vài lần. Tôi đang làm việc với một số tập lệnh trong Ubuntu từ công cụ Kaldi sử dụng PATH và do khoảng trắng trong PATH, tôi gặp lỗi.
Sunshine avatar
lá cờ cn
Tôi đã bỏ lỡ các trích dẫn duy nhất. Cảm ơn. Điều đó đã cập nhật đường dẫn. Thật không may, tôi vẫn nhận được các lỗi.
Sunshine avatar
lá cờ cn
Tôi đang làm việc với các tập lệnh Kaldi trên Ubuntu trong WSL. Có ai có thể chia sẻ lý do tại sao sau khi tôi khởi động lại máy hoặc mở một thiết bị đầu cuối Ubuntu mới, các PATH mà tôi đã cập nhật để giải thích cho khoảng cách trong các thư mục hiện đã trở lại không có dấu ngoặc kép không? Tôi đã thử sử dụng \ để thoát khỏi khoảng cách. Tôi vẫn gặp lỗi tương tự như thể khoảng cách vẫn được bao gồm trong các đường dẫn trong thiết bị đầu cuối đó. Tôi đã thêm các câu lệnh echo để chỉ ra rằng các PATH có dấu ngoặc kép cho khoảng cách nhưng lỗi tương tự xảy ra như thể khoảng cách vẫn còn đó trong thiết bị đầu cuối hiện tại nơi các bản cập nhật đã được thực hiện.
Sunshine avatar
lá cờ cn
Có cách nào để làm cho các bản cập nhật vĩnh viễn hay không?
lá cờ uz
Jos
Tôi sẽ xóa câu trả lời của mình, nếu không có những bình luận có giá trị sau đó.
Điểm:1
lá cờ cn

Để chèn dấu ngoặc kép theo nghĩa đen vào CON ĐƯỜNG biến, bạn có thể bao quanh tên đường dẫn với ' hoặc thoát khỏi các ký tự đặc biệt trước chúng bằng cách \. Do đó, một trong hai cách sau sẽ hoạt động:

PATH=...:'"/mnt/c/Program Files/Git/cmd"':...

hoặc

PATH=...:\"/mnt/c/Program\ Files/Git/cmd\":...

Bạn có thể có lý do chính đáng của riêng mình để muốn làm điều này. Chỉ cần biết rằng thư mục "/mnt/c/Program Files/Git/cmd" khác với thư mục /mnt/c/Tệp chương trình/Git/cmd. Cái trước không phải là một đường dẫn tuyệt đối, vì vậy sẽ chỉ được tìm thấy nếu nó tồn tại trong thư mục hiện tại.

Sunshine avatar
lá cờ cn
Cảm ơn. Điều này đã làm việc. Bây giờ tôi phải tìm ra lý do tại sao tập lệnh vẫn dẫn đến lỗi sau khi thêm dấu ngoặc kép để giải thích cho khoảng trắng trong thư mục.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.