Dacă nu ați creat directorul folosind un sistem Linux, există șansa ca bash să se finalizeze și, prin urmare, bash nu îl vede ca fișier.
Un director în Linux este de fapt doar un fișier. care conține metadate, inclusiv locațiile fișierelor care se află „în” el. Acest lucru este mult diferit de modul în care Windows o face.
Dacă modulul (presupunând că este un modul nod) a venit de la npm, există șanse mari să fi fost realizat de un sistem de fișiere NTFS.
Nu sunt sigur cum ar afecta acest lucru modul în care o vede finalizarea bash, dar dacă nu se afișează, acesta este probabil motivul.
Cum pot investiga mai mult.
Pentru a vă asigura că directorul este încă acolo, puteți doar CD
inauntru. Oricum, acest lucru vă va oferi mai multe informații. De asemenea, fugi ls -a ~
sau la ~
daca il ai.
De asemenea, ar trebui să creați un folder nou cu aceeași convenție de denumire pentru a vedea dacă are aceeași problemă.
În plus, există un instrument pe care îl puteți obține de la apt numit copac
. Este ca ls, dar recursiv. Va scoate întreaga structură de directoare a directorului curent.
Pentru a vedea dacă Linux a „acceptat” corect directorul, puteți verifica permisiunile.
la -a -n
Acordați atenție primului caracter din lista pentru directorul vinovat. Ar trebui să fie un „d”. Dacă este un „-”, atunci nu este deloc un folder. Acum este un fișier în ceea ce privește sistemul de operare, ceea ce înseamnă probabil că orice lucru din interior este șters.
Aceasta va afișa și informațiile despre proprietar și grup. Dacă are toate aceste atribute, atunci cu siguranță ar trebui să apară.
În acest caz, reluați procesele de mai sus și faceți o captură de ecran a rezultatului fiecăruia. Dacă le adaugi la întrebarea ta, garantez că cineva va ști ce se întâmplă.
EDITAȚI | ×:
Deși sunt fericit că ați găsit o soluție la problemă, tot nu mă pot abține să nu mă întreb de ce este cazul pe computerul dvs. și nu al meu. După cum am menționat mai devreme, mi-am testat ușor Ubuntu
(Ubuntu = versiunea 20.04.2 -- bash = versiunea 5.0.17)
prin realizarea unui @Test
director și verificarea rezultatelor rulării diferitelor comenzi și aplicații în același director părinte. Am făcut asta înainte să descoperi că poți scăpa de ea. Problema este că toate au funcționat conform așteptărilor pentru mine.
Dacă ți s-a întâmplat și ești pe o versiune destul de actuală de Ubuntu, atunci vor exista fără îndoială alții cu aceeași problemă.
În momentul de față, văd două posibilități principale în ceea ce privește cauza discrepanței. Fie am întâlnit cumva o stare de margine ciudată pe care nimeni altcineva nu a descoperit-o încă (atât de puțin probabil încât mă simt puțin jenat doar când o tast.. XD), fie alt program de pe sistemul tău schimbă comportamentul shell-ului.
După cum am sugerat în comentarii, acest lucru este posibil prin manipularea mediului shell. Există câteva variabile de mediu (în mediul meu 20.04 sunt 11) care încep cu modelul BASH
, și indică direct la atributele shell bash. Acestea sunt extrem de ușor de identificat, deoarece toate sunt la începutul listei care este afișată atunci când rulați a stabilit
comanda. Dacă treceți prin conductă Mai puțin
, ca în:
set | Mai puțin
acestea vor fi primul lucru pe care îl vedeți pe afișajul terminalului. În timp ce majoritatea dintre ele sunt menite doar ca constante pentru a oferi acces la informații din scripturile dvs. etc. și pentru a afișa informațiile conținute (de exemplu, BASH_VERSION), alții pot controla informațiile la care se referă. O astfel de variabilă care iese în evidență pentru mine este BASHOPTS
. Dacă comportamentul este, de fapt, rezultatul valorii unei variabile, acesta ar fi un candidat destul de bun pentru vinovat.
Acestea fiind spuse, un scop principal al mediului în ansamblu este de a manipula comportamentul cochiliei.Ca rezultat, ar putea fi orice variabilă din mediul tău... sau ceva complet diferit.
Scopul meu de a continua depanarea este astfel încât, dacă altcineva vine aici în căutarea unei soluții la această problemă, nu numai că va ști cum să ocolească problema, ci și ce o cauzează.
În prezent există foarte puține informații pe web despre această problemă (nu am găsit absolut nimic) și asta în sine spune multe. Acesta nu este niciodată cazul. Niciun răspuns nu este destul de rar, dar nicio întrebare nu este aproape neauzită. De obicei, cineva undeva a avut aceeași problemă și a postat despre ea.
NOTĂ:
De 'acest este posibil', mă refer la manipularea comportamentului lui bash în sens general. Nu am idee dacă este posibil să modific caracterele pe care bash le vede „speciale”. Acestea fiind spuse, nu văd alte concluzii acceptabile. A trebuit să mă întind puțin doar ca să ajung la asta. Dacă altcineva are vreo idee, sunt toată urechile.