Puncte:3

cum să definesc o variabilă în .bashrc, astfel încât să o pot folosi ca cale

drapel sh

Bună ( scuze pentru engleza mea proastă )

Tocmai am învățat cum să setez permanent o cheie pentru o anumită valoare folosind alias:

.bashrc

alias te rog = 'sudo'
alias go='cd'
alias destroy='rm -rf'

Și funcționează perfect. dar apoi m-am gândit cât de distractiv ar fi dacă aș putea stoca căile mele preferate (cum ar fi ~/Music) în .bashrc pentru o utilizare mai ușoară. asa ca am facut asta:

alias te rog = 'sudo'
alias go='cd'
alias destroy='rm -rf'

alias home='~'
alias work='~/Workstation'
alias înapoi='..'

dar nu a mers. De asemenea, am încercat să definesc o variabilă ca aceasta: spate='..' și nici nu a funcționat.

Știu că pot face alias gowork='cd ~/Workstation'
dar vreau să pot folosi calea pe care am stocat-o în multe comenzi diferite, astfel:

distruge munca

și vreau să pot face lucruri ca acestea:

du-te înapoi/Imagini

Orice ajutor ar fi foarte apreciat, mulțumesc băieți!

Puncte:9
drapel cn

Un „alias” este o abreviere pentru o comandă shell. Definiția ta alias home='~' nu funcționează deoarece nu specifică o comandă validă:

~$ ~
bash: /home/vanadium: Este un director

Prin urmare, această abordare nu este potrivită pentru a vă permite să înlocuiți o cale completă cu un nume mai scurt pentru acesta, pe care îl puteți utiliza în comenzi.

O modalitate este de a defini variabilele. Probabil că nu este nevoie să definiți comenzi rapide pentru directorul dvs. de acasă și pentru folderele anterioare: abrevierile încorporate, ~ și .., respectiv, sunt cât se poate de scurte: vă sfătuiesc să le adoptați doar pe acestea.

Pentru alte căi, puteți defini variabile de mediu, care, asemănătoare alias-urilor, pot fi permanente prin includerea lor în .bashrc:

export work=~/Workstation

care apoi poate fi folosit într-o comandă ca

cd $work

și care va funcționa cu celelalte alias-uri, de ex.

distruge $work

Note dacă aveți de-a face cu nume de căi cu spații:

⢠Dacă calea definită în variabilă conține spații, va trebui să citați variabila ca în

cd "$work"

⢠Dacă definiți o variabilă cu spații, trebuie să păstrați simbolurile care sunt extinse prin bash, de ex. ~, necotat, ca în

export work=~"/Nume cale cu spații"
YoloWex avatar
drapel sh
Pare corect, dar returnează ```frnr@frnr-System-Product-Name:~$ go $work bash: cd: ~/Workstation: Nu există un astfel de fișier sau director ```
vanadium avatar
drapel cn
@bac0n mulțumesc, da, ghilimele împiedică extinderea „~” în timpul setării variabilei: ~ apoi devine parte literală a variabilei și nu este extinsă la preluarea valorii acesteia într-o comandă. Corectat!
YoloWex avatar
drapel sh
scăparea citatelor a funcționat!! Mulțumesc mult ! voi sunteți aromă de viață. @vanadium

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.