GNU/Linux >> Linux Esercitazione >  >> Linux

Directory corrente abbreviata nel prompt della shell?

vim ha una caratteristica davvero interessante che utilizza nei suoi percorsi quando sono un po' lunghi:

Abbrevia il percorso del documento nella scheda in alto. C'è un modo per fare qualcosa di simile a questo in modo che il mio prompt di bash non assomigli a questo:

[email protected] ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $ 

Risposta accettata:

Prova questo:

PROMPT_COMMAND='PS1X=$(perl -pl0 -e "s|^${HOME}|~|;s|([^/])[^/]*/|$""1/|g" <<<${PWD})'

o, puro bash:

PROMPT_COMMAND='PS1X=$(p="${PWD#${HOME}}"; [ "${PWD}" != "${p}" ] && printf "~";IFS=/; for q in ${p:1}; do printf /${q:0:1}; done; printf "${q:1}")'

poi

PS1='[email protected] ${PS1X} $ '

produce (notare il ~ per ${HOME} ):

[email protected] ~/D/P/W/m/s/m/j/c/tkassembled $

Ho migliorato la mia risposta grazie a @enzotib


Linux
  1. Errore di shell-init durante il recupero della directory corrente [fissare]

  2. Navigazione rapida delle directory in Bash Shell?

  3. $pwd? (rispetto alla directory di lavoro corrente)?

  4. Da dove viene eseguito uno script di shell?

  5. Rigenerare .bashrc dalla shell corrente?

Comando Pwd in Linux (directory di lavoro corrente)

Come aggiungere una directory a PATH in Linux

Come verificare se esiste un file o una directory in Bash Shell

Torna alla directory precedente nella shell

push/pop directory corrente?

Esecuzione di script da un'altra directory