Puncte:0

Cum să remediați eroarea de sintaxă bash în timp ce configurați temele Solarized pentru WSLtty?

drapel br

Încerc să configurez temele Solarized pentru terminalul WSLtty, așa că am urmat acest ghid în 2 pași.

Nu am vrut să instalez pește, așa că m-am concentrat doar pe primii 2 pași.

Dar când am alergat:

eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//')

imi da aceasta eroare:

-bash: eroare de sintaxă lângă tokenul neașteptat „dircolors”
drapel hr
Link-ul dvs. nu funcționează pentru mine, totuși sintaxa pentru *substituirea comenzii* în bash este `$(comandă)`, mai degrabă decât `(comandă)` a cochiliei de pește - vedeți de exemplu [Echivalentul peștelui al notației bash $(comandă) ](https://stackoverflow.com/a/20918951/4440445)
Godspeed avatar
drapel br
Am schimbat linkul acum. Am rulat aceeași comandă ca acest eval $(dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//') și îmi dă această eroare acum setenv: command not found
muru avatar
drapel us
Se pare că asta ar trebui să fie rulat în „pește”? Articolul îl pune în `~/.config/fish/conf.d/omf.fish`. Ce vrei să se întâmple cu acea comandă?
Godspeed avatar
drapel br
Vreau să configurez tema solarizată pentru terminalul meu wsltty. Comanda va fi folosită pentru a instala culorile de bază.
pLumo avatar
drapel in
Acest tutorial este în mod clar pentru „pește”, deci nu funcționează în „bash”. Nu veți rula cod `python` cu `php`.
Artur Meinild avatar
drapel vn
Nu cred că are rost să rulezi acea comandă.
Puncte:0
drapel vn

Eu ti-as propune ca esti:

  • Urmând un ghid care are aproape 4 ani pentru a vă configura WSL. WSL are doar aproximativ 6 ani și s-au schimbat multe în ultimii ani. Chiar și scoica de pește a evoluat destul de mult în acea perioadă de timp (deși modificările peștilor nu fac parte din problema ta).

  • Încercarea de a „sări peste niște pași”, cum ar fi utilizarea cochiliei de pește. Acest ghid special a fost scris în mod clar ținând cont de pește și, după cum s-a subliniat în comentarii, cel puțin acea comandă este scrisă în sintaxă pește, mai degrabă decât Bash/POSIX.

  • Întrebând despre WSLtty, care este un program Windows, pe AskUbuntu.com. Considerăm că întrebările WSL sunt la subiect aici atâta timp cât se referă la Ubuntu, dar veți găsi aici mult mai multă experiență Ubuntu decât WSL și chiar mai puțin pe WSLtty.

    Acestea fiind spuse, expertiza pe WSLtty este probabil insuficientă oriunde în prezent. Acesta este un alt efect secundar al faptului că lucrurile erau foarte diferite acum 4 ani. Pe atunci, am folosit WSLtty, l-am considerat cea mai bună opțiune de terminal pentru WSL și aș fi putut oferi asistență în acest sens.


Așa că permiteți-mi să propun câteva alternative, deoarece nu vă pot ajuta (și cel mai probabil nimeni de aici pe Ask Ubuntu nu poate) pe WSLtty:

În primul rând, în timp ce WSLtty a fost grozav pentru timpul său, cea mai mare parte a lumii WSL a trecut mai departe acum Terminal Windows exista de cativa ani. Terminalul Windows este:

  • De la Microsoft
  • Sursa deschisa (Repoziție Github)
  • Capabil să detecteze și să configureze automat profiluri pentru WSL (precum și PowerShell, CMD, Git Bash și multe altele) la lansare
  • Dezvoltat activ
  • Proiectat pentru a fi înlocuitorul vechiului Windows Console Host (terminalul care se lansează atunci când doar rulați „Ubuntu” în WSL din meniul Start în mod implicit în Windows 10).
  • Configurabil ca terminal implicit în Windows 11
  • Bogat în funcții: combinații de taste configurabile cu file, au încorporat scheme de culori (inclusiv lumina solarizată și întuneric), etc.

Prindeți ultima parte? Temele solarizate sunt incluse implicit în Windows Terminal. Puteți comuta cu ușurință prin:

  • Schimbarea valorii implicite Aspect setări pentru toate profilurile terminalului
  • Schimbarea Aspect setări pentru un anumit profil
  • Pornind de la linia de comandă cu o anumită schemă de culori
  • Ctrl+Schimb+P pentru a afișa paleta de comenzi, căutând „Schema de culori” și selectând-o prin GUI.
  • Crearea directă a unei combinații de taste pentru a comuta schema de culori la cea preferată

Singurul lucru care pare să lipsească este un mod încorporat de a face acest lucru din linia de comandă. Este posibil, cu siguranță, prin crearea unui utilitar pentru modificarea settings.json direct, deoarece Windows Terminal detectează automat modificările. Doar că nu este încorporat.


Este posibil să aveți sau nu nevoie de dircolors sistem. Încercați mai întâi doar cu temele solarizate de nivel superior. Dacă descoperiți că doriți să utilizați dircolors schema de culori, veți găsi instrucțiunile generale (non-pești) pe proiectul respectiv Citiți-mă Github. Pare a fi simplu:

eval `dircolors /path/to/dircolorsdb`

Rețineți că utilizarea backtick-urilor pentru înlocuirea comenzii este descurajat (curtoazie acest raspuns), așa că aș recomanda în schimb:

eval $(dircolors /path/to/dircolorsdb)

Cu ajustare, desigur, pentru numele temei la care treceți.


Notă secundară: îmi place însumi cochilia de pește, dar recomand ca nou-veniți să învețe mai întâi o cochilie mai compatibilă cu POSIX. Sintaxa scoici de pește este nu Conform POSIX; cu alte cuvinte, nu va funcționa în alte shell-uri, iar sintaxa standard a altor shell-uri (adesea) va avea nevoie de ajustări pentru a funcționa în pește.

Acestea fiind spuse, există un motiv întemeiat pentru această incompatibilitate. Subiectiv, sintaxa scoici de pește este mai bun decât (sau cel puțin la fel de bun ca) POSIX în peste 95% din cazuri -- Uneori mult mai bun decât. Cu toate acestea, uneori o caracteristică de pește lipsă va face lucrurile mai dificil.

Lucrul grozav despre (în cele din urmă) să înveți și să le cunoști pe ambele este că poți oricând să alergi bash scripturi din interiorul peștelui când trebuie să reveniți la sintaxa „standard”.

Cu alte cuvinte, probabil că faci ceea ce trebuie, „sărind peste” deocamdată, dar revino și verifică când te simți mai confortabil în Linux.


Notă secundară/recomandare #2: Verificați exa, un înlocuitor modern pentru ls. Este mult mai „colorat” implicit.

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.