Puncte:0

Modificați calea pentru a include ghilimele

drapel cn

Ubuntu este instalat pe un sistem de operare Windows. Am căutat și am găsit cum să adaug o cale nouă, dar nu prea înțeleg cum să modific o cale care există deja și apoi să adaug ghilimele în jurul căilor cu spații. Am urmatoarele in cale:

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

Cum modific calea pentru a pune ghilimele în jurul fișierelor de program în /mnt/c/Program Files/Git/cmd?

vanadium avatar
drapel cn
O anumită „igienă” în PATH poate fi garantată: nu puteți avea o cale pentru fiecare executabil peste tot în sistemul dumneavoastră. În schimb, învățați să lucrați cu link-uri simbolice sau scripturi wrapper plasate într-un director din calea dvs. existentă. O cale prea lungă este dificil de întreținut și poate încetini la un moment dat lansarea aplicațiilor.
Sunshine avatar
drapel cn
Multumesc vanadium. Apreciez feedback-ul.
Puncte:1
drapel cn

Pentru a introduce ghilimele duble literale în CALE variabilă, fie înconjurați calea cu ' sau scăpa de caracterele speciale care le precedă prin \. Astfel, oricare dintre următoarele va funcționa:

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

sau

PATH=...:\"/mnt/c/Program\Fișiere/Git/cmd\":...

S-ar putea să ai motivele tale întemeiate să vrei să faci asta. Doar să știți că folderul „/mnt/c/Program Files/Git/cmd” este diferit de folder /mnt/c/Program Files/Git/cmd. Prima nu este o cale absolută, deci va fi găsită numai dacă există în directorul curent.

Sunshine avatar
drapel cn
Mulțumiri. Aceasta a funcționat. Acum trebuie să-mi dau seama de ce scriptul încă duce la o eroare după adăugarea ghilimelelor pentru a ține cont de spațiile din directoare.
Puncte:1
drapel uz
Jos

Acest lucru ar trebui să funcționeze:

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

Practic, plasezi ghilimele duble (") în jurul numelor de directoare care conțin spații, cum ar fi, de exemplu:

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

deci devin

„/mnt/c/Program Files/Common Files/Oracle/Java/javapath” 

Alternativ, scăpați din spații cu \ caracter, ca în:

/mnt/c/Program\Fișiere/Common\Fișiere/Oracle/Java/javapath 

Vă rugăm să verificați din nou comanda de mai sus înainte de a o lansa, sau puteți întâmpina probleme.

Sunshine avatar
drapel cn
Multumesc pentru feedback.Pierd vreun pas? Am încercat comanda după ce am verificat-o de două ori, dar mai am aceeași problemă. Niciuna dintre căile cu spații nu este înconjurată între ghilimele dacă fac printenv după lansarea comenzii. De asemenea, am încercat să evadez spațiile cu caracterul \. Nici o cale actualizată. Am deschis și o nouă fereastră de terminal după aceste modificări. Până acum, nu am găsit cum să aplic modificările și acestea rămân în sistem.
vanadium avatar
drapel cn
Este normal ca ghilimele sau semnele de evacuare să nu fie vizibile în variabila PATH în sine. Acum îmi dau seama că toți înțelegem greșit întrebarea ta. Folosiți semnul de evacuare sau ghilimele simple pentru a introduce ghilimele în variabila însăși, dar asigurați-vă că știți de ce doriți acest lucru.
Sunshine avatar
drapel cn
Nu sunt sigur ce greșesc. Am încercat să folosesc ghilimele simple și duble, împreună cu caracterul de evacuare, de câteva ori acum. Lucrez cu niște scripturi în ubuntu din instrumentul Kaldi care folosesc PATH și din cauza spațiilor din PATH, primesc erori.
Sunshine avatar
drapel cn
Îmi lipseau ghilimele simple. Mulțumiri. Asta a actualizat calea. Din păcate, încă primesc erorile.
Sunshine avatar
drapel cn
Lucrez cu scripturi Kaldi pe Ubuntu în WSL. Poate cineva să împărtășească de ce, după ce mi-am repornit mașina sau am deschis un nou terminal Ubuntu, căile pe care le-am actualizat pentru a ține cont de spațierea în directoare au revenit la ghilimele duble? Am încercat să folosesc \ pentru a scăpa de spațiere. Primesc în continuare aceeași eroare ca și cum spațierea este încă inclusă în căile din acel terminal. Am adăugat declarații echo pentru a arăta că PATH-urile au ghilimele duble pentru spațiere, dar se întâmplă aceeași eroare ca și cum spațierea ar fi încă acolo în terminalul curent unde au fost făcute actualizările.
Sunshine avatar
drapel cn
Există vreo modalitate de a face actualizările permanente sau este respins?
drapel uz
Jos
Mi-aș șterge răspunsul, dacă nu ar fi comentariile valoroase care au urmat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.