Puncte:2

Cum să scurtați directorul de lucru curent în promptul bash în mod dinamic

drapel tr

Deci, caut o modalitate de a scurta calea în prompt dacă atinge o lungime definită, cum ar fi:

user1@localhost:~/Pictures/awesome_trip/

Ar fi bine, dar dacă am introduce mai multe subdirectoare, cum ar fi:

user1@localhost:~/Pictures/awesome_trip/first_day/mikes_camera/funny_pics

Aș dori ca promptul să se schimbe în

user1@localhost:/.../funny_pics

Știu cum să schimb promptul în .bashrc

Mă întrebam dacă există o modalitate de a o face dinamic, astfel încât să pot obține lungimea curentă a directorului de lucru și să verific lungimea și să schimb promptul. ceva de genul:

CUR_PROMPT=$(pwd); # obține directorul de lucru

CUR_PROMPT_LENGTH={#CUR_PROMPT}; # obțineți lungimea

dacă[ $CUR_PROMPT_LENGTH -gt 20 ]; atunci 
  # dacă promptul este lung, redați versiunea mai scurtă
  PS1='\u@\h:...\w:\$';
altfel
  # else redă versiunea lungă
  PS1='\u@\h:\W:\$'

Sper că există o modalitate de a face asta, Multumesc pentru raspuns.

drapel hr
Shell-ul bash implementează deja un mecanism `PROMPT_DIRTRIM` pentru asta - vezi [Cum pot scurta promptul meu de linie de comandă (bash)?](https://askubuntu.com/a/459355/178692)
Telegonicaxx avatar
drapel tr
@steeldriver Acesta este exact ceea ce căutam. Nu pot să cred că nu l-am dat peste el în timp ce îl caut pe google. Mulțumesc!
Puncte:0
drapel cn

Puteți folosi ceva ca codul de mai jos. Doar adăugați-l în fișierul dvs. .bashrc din folderul dvs. de acasă. Practic, va face ca promptul dvs. să semene cu „utilizator@numecomputer [dir] $”, așa că ar putea arăta ca telegonicaxx@laptop [partajat] $

export PS1="\u@\h [\W] \$\[$(tput sgr0)\]"

Puteți genera propriul stil și culori prompte folosind site-ul web de mai jos

http://bashrcgenerator.com/

Telegonicaxx avatar
drapel tr
Mulțumesc @Roxana, acesta este un site foarte frumos, mulțumesc că l-ai împărtășit. Nu tocmai ceea ce căutam

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.