# [OT] Com'e' il vosto prompt bash?

## fedeliallalinea

Apro questo topic per sapere se avete modificato il vostro prompt bash. Io l'ho fatto e il risultato lo trovate qui. Il codice per fare questa cosa (messo in .bashrc) e' il seguente

```
normal='\[\033[0m\]'

white='\[\033[0;29m\]'

gray='\[\033[1;37m\]'

red='\[\033[1;31m\]'

green='\[\033[1;32m\]'

yellow='\[\033[0;33m\]'

blue='\[\033[0;34m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[1;0;35m\]'

lightgreen='\[\033[0;32m\]'

lightred='\[\033[0;31m\]'

MYL1="\033(0l\033(B"

MYL2="\033(0mq\033(B"

MYDATE="\$(/bin/date +'%d %B %Y - %H:%M')"

MYPTY="`tty | sed -e "s:/dev/::"`"

MYKERNEL="`uname -r`"

function mybattery {

  NO_AC_MESG="AC off"

  AC_MESG="AC on"

  APMD_RESPONSE=`apm`

  case $APMD_RESPONSE in

    *$AC_MESG*)

      ACstat="AC on"

      ;;

    *$NO_AC_MESG*)

      ACstat="AC off"

      ;;

  esac

  TOP="100%"

  BATT=`apm | tail -c 5`

  if [ $BATT = $TOP ]; then

    BATstat="top"

  else

    BATstat=`apm | tail -c 4`

  fi

  echo -n $ACstat, $BATstat

}

if [ `/usr/bin/whoami` = 'root' ]

then

    PS1="\n$gray$MYL1-($red\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

else

    PS1="\n$gray$MYL1-($green\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

fi
```

Le guide che ho seguito http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/ (in inglese) e http://it.tldp.org/HOWTO/Bash-Prompt-HOWTO.html#toc2 (in italiano), inoltre ho spulciato anche da https://forums.gentoo.org/viewtopic.php?t=5850

----------

## kaosone

```
export PS1="\[\033[0;31m\]..::\[\033[1;31m\][\[\033[1;33m\]\u\[\033[0;31m\]@

\[\033[1;33m\]\h\[\033[1;31m\]][\[\033[1;33m\]\d\[\033[1;31m\]][\[\033

[1;33m\]\t\[\033[1;31m\]][\[\033[1;33m\]\w\[\033[1;31m\]]\[\033[0;31m\]

::..\n\[\033[1;31m\]$\[\033[0;0m\] "

 
```

  :Very Happy: 

tutto su una riga ..

----------

## Raffo

nn l'ho modificato e per ora credo che nn lo farò...forse un giorno mi verrà voglia, chissà....

----------

## zUgLiO

Io aspetto di copiarne subdolamente uno dei vostri!   :Smile: 

----------

## heXen

user@host:cartella$

molto fantasioso   :Mr. Green: 

è che non mi piacciono quelli lunghi

----------

## croot

x fedeliallalinea:

ho visto che il tuo sitto è interamente su ssl..

ma mi fallisce l'autenticazione del certificato è normale ?

altra domanda.. perchè l'hai messo tutto su ssl ? Ce n'era bisogno ?

----------

## shev

```
[ Wed Jul 07 - 21:08:49 | 92% | ~ ]

[ shev@kronos ] $ 
```

Ovviamente colorato è molto più figo  :Smile: 

Rispettivamente riporto:

[data - ora | % carica batteria | directory in cui mi trovo]

[utente@nome-pc] $

Così ho sempre sott'occhio le info che più spesso mi servono, senza alzare gli occhi per cercarle nella varie barre/applet. Inoltre la disposizione dei vari elementi nel prompt è frutto di lunghi studi e consultazioni con vari esperti, in modo da ottimizzare lo spazio, evitare che gli elementi varino scombussolando l'allineamento del prompt o che sottraggano spazio ai comandi  :Laughing: 

----------

## Marculin

sto lavorando a convertire la funzione batteria di fedeliallalinea per acpi ma ho un pò di problemi...se qualcuno riesce mi faccia sapere  :Wink:  grazie

ps:vi posterò presto a che punto sono

----------

## cromabianca

E ogni volta che premi "invio" esce tutta quella roba?  :Rolling Eyes: 

----------

## fedeliallalinea

 *Marculin wrote:*   

> se qualcuno riesce mi faccia sapere 

 

Domani dopo l'esame te lo faccio io   :Very Happy: 

----------

## fedeliallalinea

 *cromabianca wrote:*   

> E ogni volta che premi "invio" esce tutta quella roba? 

 

Si

----------

## randomaze

Mah, io avevo grabbato questo con l'idea di farlo anche a colori....

```
PS1="\w:\`if [ \$? = 0 ]; then echo :\\\); else echo :\\\(; fi\`\\\$ "

```

...ma é rimasto li perché preferisco il caro vecchio user@dir!

----------

## silian87

 *Quote:*   

> senza alzare gli occhi per cercarle nella varie barre/applet

 

Altro che pigrizia di alzarsi per prendere da bere o fare altre cose... qui i muscoli imlicati sono addiruttura quelli degli occhi! ahahaha   :Laughing: 

----------

## Danilo

 *fedeliallalinea wrote:*   

>  *cromabianca wrote:*   E ogni volta che premi "invio" esce tutta quella roba?  
> 
> Si

 

Io ho sempre la fisima che il buffer del terminale e' troppo breve per riempirlo con altre info.

Anche sulle macchine unix preferisco lasciare sempre 

<user>@<hostname><$>

al limite sostituisco <$> con la directory corrente

Comunque un giorno o l'altro provero' i settaggi di Fedeliallalinea , non si sa mai che cambi abitudini  :Wink: 

----------

## koma

 *kaosone wrote:*   

> 
> 
> ```
> export PS1="\[\033[0;31m\]..::\[\033[1;31m\][\[\033[1;33m\]\u\[\033[0;31m\]@
> 
> ...

  è opensource? perchè l'ho adattato al mio o meglio ci ho aggiunto un pezzetto e me lo sono spudoratamente copiato  :Mr. Green: 

il risultato ve lo posto tra un attimo assieme a un mio vecchio tip che potrebbe interessare questo topic  :Smile: 

----------

## koma

Qui il "mio" bash http://www.khb.altervista.org/bash.jpg .

é il risultato della 'volontaria' donazione di kaosone e dello scriptino che avevo fatto un po' di tempo fa su questo topic: https://forums.gentoo.org/viewtopic.php?t=178349

----------

## federico

Secondo me ci vuole qualcosa di compresso ma figo  :Smile: 

Ovvero qualcosa che occupi poco spazio ma che metta dentro le informazioni + utili... Sto provando i vostri  :Smile: 

Io ho mantenuto il PS1 di default di gentoo e ho messo un colore differente per ogni macchina sulla quale lavoro, in questo modo so sempre dove mi trovo...

Fede

----------

## kaosone

 *koma wrote:*   

> Qui il "mio" bash http://www.khb.altervista.org/bash.jpg .
> 
> é il risultato della 'volontaria' donazione di kaosone e dello scriptino che avevo fatto un po' di tempo fa su questo topic: https://forums.gentoo.org/viewtopic.php?t=178349

 

e' venuto un giallo un po' fiacco forse e' il jpg   :Question: 

cmq anche io avevo pensato di mettere dentro il check delle email ma poi diventa un po troppo lungo e rischia di andare su tre righe   :Evil or Very Mad: 

http://fedekaos.interfree.it/bash.png

----------

## koma

notare che il mio è in italiano  :Wink: 

http://khb.altervista.org/bash.png

l'ho fatto in png ora si dorvebbe leggere mejo  :Smile: 

----------

## federico

Koma io non raggiungo il tuo link...

----------

## kaosone

copiaincollalo in una nuova finestra  :Smile: 

si cmq cosi' si vede decisamente meglio   :Wink: 

meglio in inglese   :Very Happy: 

----------

## bld

Mi complimento per ancora una volta con uno dei grandi protagonisti di questo forum! (NO KOMA NON SEI TU!) hahaha

L'amico CCCP e' un grandissimo! Mi e' piaciuto TANTISSIMO questo prompt! Devo fare qualche tunning per perfezionarlo un attimino:

il prompt ora come ora e' cosi

 *Quote:*   

> 
> 
> l-(bld 
> 
> 2.6.7-rc3-love2)-(08 July 2004 - 01:33)-(pts/21)
> ...

 

Io lo vorrei cosi:

 *Quote:*   

> 
> 
> l-(bld )
> 
> |-(2.6.7-rc3-love2)-(08 July 2004 - 01:33)-(pts/21)
> ...

 

Se per fedeli e' facile .. io d'altra parte sto facendo solo danni!  :Razz: 

per la bash sono proprio negato eheh

----------

## Samos87

{andrea@Pbook} [andrea]  *02:14:02* $

 :Cool: 

```

   export PS1='\[\033[01;32m\]{\u@\h} \[\033[01;31m\][\W]\[\033[01;01;34m\] *\t*\[\033[0;31m\] \$ \[\033[00m\]'

```

 :Very Happy: 

----------

## bld

ops okay fatto

avevo pigiato ... un "enter" di troppo   :Embarassed: 

e' quello di fedeli senza la battery.. spacca!!!

----------

## fedeliallalinea

 *bld wrote:*   

> ops okay fatto

 

Hai ancora bisogno?

----------

## solka

Io ho provato a smanettarci ma alla fine mi dà fastidio vedere troppe info sulla linea di comando, quindi viva l'essenziale  :Very Happy: 

Utente normale

[ solka @ pitagora ] --> solka $

Superuser

[ root @ pitagora ] --> solka #

Codice

```

if [ `/usr/bin/whoami` = 'root' ]

then

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1='\[\e[01;34m\][ \[\e[31;01m\]\u\[\e[01;32m\] @ \h \[\e[01;34m\]] \[\e[01;32m\]--> \[\e[01;34m\]\W \[\e[31;01m\]\$ \[\e[00m\]'

        fi

        export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"

else

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1='\[\e[01;34m\][ \[\e[01;32m\]\u @ \h \[\e[01;34m\]] \[\e[01;32m\]--> \[\e[01;34m\]\W \$ \[\e[00m\]'

        fi

        export PATH="/bin:/usr/bin:${PATH}"

fi

```

----------

## Sasdo

dopo aver scoperto questa fantastica cosa, ho preso la configuarazione di fedeliallalinea, modificata in base alle mie esigenze, e dopo un'intera mattina passata ad aprire xShell per vedere gli effetti dei miei paciughi, ho finalmente raggiunto un prompt decente!

eccolo http://it.geocities.com/sasdobot/prompt1.jpg

----------

## koma

nn si vede sasdo =)

----------

## fedeliallalinea

 *koma wrote:*   

> nn si vede sasdo =)

 

Copia e incolla il link su un'altro tab/finestra

----------

## kandalf

bello solka!!! grazie è molto bello....

----------

## codadilupo

 *Sasdo wrote:*   

> eccolo http://it.geocities.com/sasdobot/prompt1.jpg

 

ahah! Geniale il controllo sul numero di console aperte  :Very Happy:  !

Coda

----------

## Sasdo

 *codadilupo wrote:*   

>  *Sasdo wrote:*   eccolo http://it.geocities.com/sasdobot/prompt1.jpg 
> 
> ahah! Geniale il controllo sul numero di console aperte  !
> 
> Coda

 

hihihi ... grazie, ma il controllo l'ho copiato da fedeliallalinea =)

----------

## Marculin

se a qualcuno serve ho modificato la funzione di fedeliallalinea e ora va per l'ACPI

```

function mybattery {

 AC_MESG="charging"

 NO_AC_MESG=" discharging"

 ACPI_RESPONSE=`acpi |cut -d : -f 2 |cut -d , -f 1`

 case $ACPI_RESPONSE in

   *$NO_AC_MESG*)

     ACstat="dschg"

     ;;

   *$AC_MESG*)

     ACstat="chg"

     ;;

 esac

 TOP="100%"

 BATT=`acpi | cut -d , -f 2`

 if [ $BATT = $TOP ]; then

   BATstat="top"

 else

   BATstat=`acpi | cut -d , -f 2`

 fi

 echo -n $ACstat,$BATstat

}

```

TUTTI I SUGGERIMENTI SONO BEN ACCETTI  :Wink: 

----------

## Sasdo

nessun suggerimento... io avevo fatto una cosa molto più corta (e meno bella):

```

MYBATT="'acpi | cut -d , -f  2'"

```

e basta... tanto lo so se attaccata alla corrente.... ce la attacco io! =)

----------

## n3m0

ERANO così

Ora uso il prompt di gentoo.

----------

## theRealMorpheu5

Non ci avevo mai pensato... adesso 'sta cosa m'intrippa... è proprio vero che Gentoo crea bisogni inesistenti!  :Very Happy: 

Cmq ricordo che con zsh aveva un'opzione con cui si poteva mettere la directory corrente sulla parte destra della riga del prompt e questa si posizionava correttamente rispetto alle dimensioni del terminale. Qualcuno ha idea di come farlo in bash?

----------

## kNemo

La mia e' molto simile a quella standard...

Ma all'inizio gli faccio eseguire un paio di comandi...

```

GNU/Linux 2.4.26-gentoo-r3 Intel(R) Pentium(R) 4 CPU 2.60GHz (pts/1)

Gentoo Base System version 1.4.16

                                                                                

nemo@minasTirith [nemo] $

```

```

# colors for ls, etc.

eval `dircolors -b /etc/DIR_COLORS`

alias d="ls --color"

alias ls="ls --color=auto"

alias ll="ls --color -l"

function info {

   RELEASE_FILE=""

   test -r "/etc/gentoo-release" && RELEASE_FILE=`cat /etc/gentoo-release`

   TTY="`tty | sed -e "s:/dev/::"`"

   NODENAME="$(uname -n)"

   KERNELRELEASE="$(uname -r)"

   MACHINE="$(uname -m)"

   PROCESSOR="$(uname -p)"

   HDWPLATFORM="$(uname -i)"

   OPERATIVESYSTEM="$(uname -o)"

   echo "$OPERATIVESYSTEM $KERNELRELEASE $PROCESSOR ($TTY)"

   if [ "$RELEASE_FILE" != "" ]

   then

      echo "$RELEASE_FILE"

   fi

   echo

}

clear && cd && source /etc/profile

info

# Change the window title of X terminals 

case $TERM in

   xterm*|rxvt|Eterm|eterm)

      PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'

      ;;

   screen)

      PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'

      ;;

esac

##uncomment the following to activate bash-completion:

[ -f /etc/profile.d/bash-completion ] && source /etc/profile.d/bash-completion

```

----------

## Marculin

sapete come posso togliere lo spazio che viene messo prima del numero di questo comando?grazie

```

acpi | cut -d , -f  2

```

EDIT:risolto aggiungendo

tail -c 5  :Wink: 

potrei fare in altri modi?partendo a contare dall'inizio invece che dalla fine come fa tail -c?

----------

## paperp

perchè con il config di Marculin mi viene questo??

```
-bash: acpi: command not found

-bash: acpi: command not found

-bash: [: =: unary operator expected

-bash: acpi: command not found

l-(emanuele 2.6.7-gentoo)-(09 July 2004 - 14:23)-(,)-(pts/8)

mq-(~)->
```

devo attivare APCI o APM nel kernel??  :Smile: 

----------

## fedeliallalinea

 *paperp wrote:*   

> devo attivare APCI o APM nel kernel?? 

 

Penso di si, e poi scaricare il pacchetto acpid che contiene il comando acpi... credo

----------

## .:deadhead:.

 *fedeliallalinea wrote:*   

>  *paperp wrote:*   devo attivare APCI o APM nel kernel??  
> 
> Penso di si, e poi scaricare il pacchetto acpid che contiene il comando acpi... credo

 ACPID ed anche ACPI ci vuole...

----------

## Marculin

ti basta anche solo emergere acpi senza l'acpid  :Wink: 

----------

## sendai

```

(root)

export PS1='[\t] \[\033[31m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'

(user)

export PS1='[\t] \[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'

```

console schema ---> Trasparente sfondo scuro

l'ora viene stampata in bianco (nell'esempio qui sotto la metto in nero sennò nn si legge  :Smile: 

[15:42:35] root@sendai home #

[15:42:37] user@sendai home $

----------

## primero.gentoo

 *theRealMorpheu5 wrote:*   

> Cmq ricordo che con zsh aveva un'opzione con cui si poteva mettere la directory corrente sulla parte destra della riga del prompt e questa si posizionava correttamente rispetto alle dimensioni del terminale. Qualcuno ha idea di come farlo in bash?

 

Mmmmhh ... non ne sono sicuro ma credo che sia una caratteristica esclusiva di zsh , o almeno io l'ho visto fare solo con questa ... 

Ciauz

----------

## Marculin

 *Sasdo wrote:*   

> nessun suggerimento... io avevo fatto una cosa molto più corta (e meno bella):
> 
> ```
> 
> MYBATT="'acpi | cut -d , -f  2'"
> ...

 

scusa ma ti funziona?????

Io ho provato ma se lo metti cosi il valore della batteria rimane sempre fisso.....mi si stava per spegnere il pc e li mi dava 98% mentre "acpi" diceva giustamente 3%  :Smile: 

----------

## RenfildDust

Provate questo:

```

PS1=\[\033[01;31mP\[\033[01;33me\[\033[01;32ma\[\033[01;36mc\[\033[01;34me\[\033[01;35m+\[\033[01;37mL\[\033[01;31mo\[\033[01;33mv\[\033[01;32me \[\033[01;37m\]\u@\h \[\033[01;34m\]\W $ \[\033[00m\]

```

----------

## Sasdo

 *Marculin wrote:*   

>  *Sasdo wrote:*   nessun suggerimento... io avevo fatto una cosa molto più corta (e meno bella):
> 
> ```
> 
> MYBATT="'acpi | cut -d , -f  2'"
> ...

 

perdincibacco è vero! (che gaffe....)

non essendo un esperto di scripting, pensavo che ogni volta richiamasse il comando e  quindi aggiornasse il valore.... ora che ci ho fatto caso anche l'ora non cambia!

....uooopss... mo ci rimetto su le mani...

grazie per avermelo fatto notare!

----------

## pascalbrax

 *RenfildDust wrote:*   

> Provate questo:
> 
> ```
> 
> ...
> ...

 

 :Confused:   :Wink: 

----------

## Sasdo

@marculin:

ho risolto così:

```

PS1="..blablabla.. \$(acpi | cut -d , -f 2) ...bla bla bla..."

```

il backslash prima di $ fa si che il comando venga eseguito tutte le volte.

funziona anche con le funzioni (bel gioco di parole..)

```

...

function mydate {

     echo `/bin/date "+%R %S" `

}

...

PS1="..... \$(mydate) ..."

```

ciaoooo

il Sasdo

----------

## Marculin

 *Quote:*   

> 
> 
> il backslash prima di $ fa si che il comando venga eseguito tutte le volte.
> 
> 

 

sei sicuro di ciò?non l'ho trovato nel manuale di bash scripting   :Confused: 

----------

## Sasdo

sicurissimo.

l'ho trovato al link postato da fedeliallalinea, precisamente qui:

http://it.tldp.org/HOWTO/Bash-Prompt-HOWTO-3.html#ss3.2

ho fatto anche diverse prove e mi aggiorna effettivamente sia carica batteria sia orologio...

----------

## koma

Framebuffer con nuova consolle: www.khb.altervista.org/ciau.png (copiate il link in una nuova finestra)

commento di akiross:

 *Quote:*   

> (01:33:49) Akiross: passa link
> 
> (01:34:39) Koma: www.khb.altervista.org/ciau.png
> 
> (01:35:45) Akiross: noo chebbrutto

 

----------

## d3vah

```
 09:58:43 <d3vah@hell (~/Windows/Download)>

$->
```

Con le dovute corolazioni del caso

----------

## comio

Il mio prompt... ricordando i vecchi tempi dell'amstrad cpc464:

```

Ready

_

```

 :Very Happy: 

quelli si che erano prompt... tutto ovviamente giallo su blu!

Ovviamente scherzo, ho il cassico prompt!

ciao

----------

## r_howie

Risultato, coi colori in realtà:

```
g@inwit:~$
```

Ho qualcosa del genere in /etc/profile:

```

if [ `/usr/bin/whoami` = 'root' ]

then

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1='\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'

        fi

        export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"

else

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'

        fi

        export PATH="/bin:/usr/bin:${PATH}"

fi

unset ROOTPATH

CLR='\[\033[0m\]'

BLACK='\[\033[0;30m\]'

MAROON='\[\033[0;31m\]'

GREEN='\[\033[0;32m\]'

OLIVE='\[\033[0;33m\]'

NAVY='\[\033[0;34m\]'

PURPLE='\[\033[0;35m\]'

TEAL='\[\033[0;36m\]'

BEIGE='\[\033[0;37m\]'

DARKGREY='\[\033[1;30m\]'

RED='\[\033[1;31m\]'

LIME='\[\033[1;32m\]'

YELLOW='\[\033[1;33m\]'

BLUE='\[\033[1;34m\]'

MAGENTA='\[\033[1;35m\]'

CYAN='\[\033[1;36m\]'

WHITE='\[\033[1;37m\]'

if [ "$BASH" ]; then

  # PS1='\u@\h:\w\$ '

  if [ "`id -u`" = "0" ]; then

    COLOR="${MAROON}"

    PS1="${WHITE}\u${COLOR}@${CLR}\h${COLOR}:${CLR}\w${COLOR}# ${CLR}"

  else

    COLOR="${TEAL}"

    PS1="${CLR}\u${COLOR}@${CLR}\h${COLOR}:${CLR}\w${COLOR}\$ ${CLR}"

  fi

else

  if [ "`id -u`" -eq 0 ]; then

    PS1='# '

  else

    PS1='$ '

  fi

fi

```

----------

## Menkalinan

per root:

export PS1=' \[\033[31m\][ \[\033[34m\]\w \[\033[31m\]] \[\033[00m\]'

[ ~ ]

per l'user:

export PS1=' \[\033[32m\][ \[\033[34m\]\w \[\033[32m\]] \[\033[00m\]'

[ ~ ]

Puro e semplice, niente fronzoli. I colori delle parentesi quadre mi ricordano chi sono.

----------

## kNemo

Il Mio all'avvio si presenta cosi...

Se volete vederlo qui c'e' un immagine: http://gendevel.altervista.org/screenshot/fvwm3.png

(Copia e Incolla del Link altrimenti altervista da' problemi)...

```

                                     ┌────(17 July 2004 - 19:00)──(pts/0)

┌─────(GNU/Linux 2.4.26-gentoo-r6)───┴──(Intel(R) Pentium(R) 4 CPU 2.60GHz)

└──(Gentoo Base System version 1.4.16)

                                                                                

nemo@minasTirith [nemo] $

```

Nel .bashrc ho aggiunto questa funzione...

```

function info {

   RELEASE_FILE=""

   test -r "/etc/gentoo-release" && RELEASE_FILE=`cat /etc/gentoo-release`

   DATE="$(/bin/date +'%d %B %Y - %H:%M')"

   TTY="`tty | sed -e "s:/dev/::"`"

   NODENAME="$(uname -n)"

   KERNELRELEASE="$(uname -r)"

   MACHINE="$(uname -m)"

   PROCESSOR="$(uname -p)"

   HDWPLATFORM="$(uname -i)"

   OPERATIVESYSTEM="$(uname -o)"

   MYL1="\033(0l\033(B"

   MYL2="\033(0mq\033(B"

   MYL3="\033(0q\033(B"

   MYL4="\033(0vq\033(B"

   echo -e "\t\t\t\t     "$MYL1$MYL3$MYL3$MYL3$MYL3"($DATE)"$MYL3$MYL3"($TTY)"

   echo -e $MYL1$MYL3$MYL3$MYL3$MYL3$MYL3"($OPERATIVESYSTEM $KERNELRELEASE)"$MYL3$MYL3$MYL3$MYL4$MYL3"($PROCESSOR)"

   echo -e $MYL2$MYL3"($RELEASE_FILE)"

   echo

}

```

----------

## Dhaki

Riesumo questo interessante thread anche per dire la mia:

```
PS1=#
```

 :Laughing:  sul serio. L'ho messo dopo essere rimasto affascinato da una macchina openbsd, con il mitico prompt minimalista (firewall trasparente di fat_penguin, per la precisione   :Wink:  ).

----------

## rota

domani ci provvo anchio a modificare

----------

## Nexus78

Ola   :Smile: 

ho un piccolo problemino, ho inserito il codice (quello di fedeli alla linea) nel ~/.bashrc ma il nuovo prompt è visibile solo alla root gli altri utenti vedono il prompt di default  :Sad: 

Vi viene in mente qualcosa ?

----------

## =DvD=

 *Nexus78 wrote:*   

> Ola  
> 
> ho un piccolo problemino, ho inserito il codice (quello di fedeli alla linea) nel ~/.bashrc ma il nuovo prompt è visibile solo alla root gli altri utenti vedono il prompt di default 
> 
> Vi viene in mente qualcosa ?

 

Che l'hai messo in /root/.bashrc !

il carattere ~ equivale alla tua home dir, quindi se lo fai da root te lo mette nella home di root

----------

## Nexus78

 *=DvD= wrote:*   

> 
> 
> Che l'hai messo in /root/.bashrc !
> 
> il carattere ~ equivale alla tua home dir, quindi se lo fai da root te lo mette nella home di root

 

o porc...   :Rolling Eyes:   :Embarassed: 

questa sera provo, grazie!!! 

Nexus

----------

## =DvD=

 *Nexus78 wrote:*   

> o porc...   
> 
> Nexus

 Nessuno "nasce imparato." *nessuno*  :Wink: 

----------

## ulric

Se faccio login da user vedo

$

Se faccio login da root vedo

#

E fin qui va bene.

Ma se faccio il login da user e poi faccio su vedo ancora

$

mentre se faccio su - vedo giustamente

#

E' normale che sia così? Io preferirei che anche facendo semplicemte su mi identifichi come root e quindi mi faccia avere il prompt #. Come posso fare?

----------

## codadilupo

 *ulric wrote:*   

> Io preferirei che anche facendo semplicemte su mi identifichi come root e quindi mi faccia avere il prompt #. Come posso fare?

 

alias su='su -' in .bashrc  :Wink: 

Coda

----------

## ulric

Perfetto!  :Razz: 

----------

## codadilupo

 *ulric wrote:*   

> Perfetto! 

 

ottimo. Ad ogni modo, era un comportamento normale: se dai su, in pratica switch l'utente. Se dai 'su -' é come se facessi login in una shell, quindi ti da il prompt completo, visto che legge /etc/profile.

Coda, che l'ha imparato a propri spese   :Razz: 

----------

## ulric

A dirla tutta, già usavo il .bashrc, per fare l'alias di vi con vim   :Embarassed: 

ma non avrevo pensato alla tua soluzione!

Grazie.

----------

## neon

Scoprendo questa utility non ho potuto non ricordarmi di questo thread  :Wink: 

```
*  app-shells/bashish

      Latest version available: 1.9.21

      Latest version installed: [ Not Installed ]

      Size of downloaded files: [no/bad digest]

      Homepage:    http://bashish.sourceforge.net/

      Description: Text console theme engine

```

Permette di settare temi per la shell, tra cui quelli dei sistemi operativi e dei computer più famosi (C64, vic20, amiga, os2, dos, beos, ecc, ecc)

----------

## Raffo

installato, ma i temi nn sono inclusi nell'emerge?? dove li vado a pescare??

----------

## neon

 *Raffo wrote:*   

> installato, ma i temi nn sono inclusi nell'emerge?? dove li vado a pescare??

 

Stranamente no. Si trovano a parte su http://prdownloads.sourceforge.net/bashish/

----------

## fedeliallalinea

@neon_it: bellissimo!

----------

## xoen

Questo è il mio : http://xoen.altervista.org/gentoo/bash_prompt.png

Scopiazzato da quello di fedeliallalinea, ovviamente (anche perchè di bash non ne capisco una mazza)

Ecco il codice :

```

# COLORS

normal='\[\033[0m\]'

blue='\[\033[0;34m\]'

white='\[\033[0;29m\]'

gray='\[\033[0;37m\]'

red='\[\033[0;31m\]'

green='\[\033[0;32m\]'

yellow='\[\033[1;33m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[0;35m\]'

lightblue='\[\033[1;34m\]'

lightgray='\[\033[1;37m\]'

lightgreen='\[\033[1;32m\]'

lightred='\[\033[1;31m\]' 

# SELECTED COLORS

lines_color=$normal

time_color=$cyan

user_color=$lightgreen

host_color=$normal

dir_color=$lightblue

# SPECIAL CHARS

MYL1="\033(0l\033(B"

MYL2="\033(0mq\033(B" 

MYL3="\033(0q\033(B" 

# PROMPT

DATA="$lines_color$MYL1$MYL3{$time_color\$(/bin/date +'%H:%M - %d %B %Y')$lines_color}\n"

PS1="$DATA$MYL2{$user_color\u$lines_color@$host_color\h $dir_color\W $lines_color\$} $normal"

```

----------

## Ghostraider

 *fedeliallalinea wrote:*   

> Apro questo topic per sapere se avete modificato il vostro prompt bash. Io l'ho fatto e il risultato lo trovate qui. Il codice per fare questa cosa (messo in .bashrc) e' il seguente
> 
> ```
> normal='\[\033[0m\]'
> 
> ...

 

Ciao fedeli...scusa il codice funzionerebbe anche sul mio laptop con un bel copia e incolla ?

----------

## xoen

 *Ghostraider wrote:*   

> Ciao fedeli...scusa il codice funzionerebbe anche sul mio laptop con un bel copia e incolla ?

 

Perchènno  :Smile: 

----------

## Ghostraider

Ottimo   :Very Happy:  non sono tanto pratico di programmazione...pensavo a qualcosa di più complicato.

Quindi faccio un bel copia e incolla...va bene alla fine del file o devo incollare il codice in qualche punto particolare del file ?

----------

## xoen

 *Ghostraider wrote:*   

> Ottimo   non sono tanto pratico di programmazione...pensavo a qualcosa di più complicato.
> 
> Quindi faccio un bel copia e incolla...va bene alla fine del file o devo incollare il codice in qualche punto particolare del file ?

 

Fai comunque attenzione  :Smile: 

Dovresti avere già qualcosa del tipo :

```

if [ `/usr/bin/whoami` = 'root' ]

then

    PS1="\n$gray$MYL1-($red\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

else

    PS1="\n$gray$MYL1-($green\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

fi

```

Cerca di non duplicarlo.

----------

## xoen

Ho un piccolo problema, penso dipenda dall'aver cambiato il prompt bash.

Quando uso la bash completition, o comunque quando il comando non entra in una riga, invece che andare a capo, sovrascrive dall'inizio della riga, ed è abbastanza fastidioso, inoltre se premo <CANC> sale di riga!

Qualche idea?

----------

## Sasdo

no. fa così anche a me...

----------

## fedeliallalinea

Il problema dovrebbe essere la rientranza della freccia, infatti se vai a capo invece di fare uno spazio funziona

----------

## xoen

 *fedeliallalinea wrote:*   

> Il problema dovrebbe essere la rientranza della freccia, infatti se vai a capo invece di fare uno spazio funziona

 

Scusa, vediamo se ho capito bene, ho tolto l'ultimo spazio nella variabile $PS1, è questo che intendevi, giusto? Sembrerebbe funzionare...

...Ma mi resta comunque la curiosità di capire come mai??

----------

## fedeliallalinea

 *xoen wrote:*   

> Scusa, vediamo se ho capito bene, ho tolto l'ultimo spazio nella variabile $PS1, è questo che intendevi, giusto?

 

No non intendevo questo! Che spazio hai tolto?

----------

## xoen

 *fedeliallalinea wrote:*   

>  *xoen wrote:*   Scusa, vediamo se ho capito bene, ho tolto l'ultimo spazio nella variabile $PS1, è questo che intendevi, giusto? 
> 
> No non intendevo questo! Che spazio hai tolto?

 

Cosa intendevi allora fede?

Comunque ho tolto quello spazio che c'era tra il prompt ed il comando che scrivo io.

----------

## fedeliallalinea

 *xoen wrote:*   

> Cosa intendevi allora fede?

 

Io intendevo invece di mettere quello spazio mettere un return, cioe' scrivere la " una linea a capo

 *xoen wrote:*   

> Comunque ho tolto quello spazio che c'era tra il prompt ed il comando che scrivo io.

 

Anche facendo cosi' mi da lo stesso problema

----------

## xoen

 *fedeliallalinea wrote:*   

>  *xoen wrote:*   Comunque ho tolto quello spazio che c'era tra il prompt ed il comando che scrivo io. 
> 
> Anche facendo cosi' mi da lo stesso problema

 

Si infatti...mi pareva che non succedeba più, ma invece...

 *fedeliallalinea wrote:*   

>  *xoen wrote:*   Cosa intendevi allora fede? 
> 
> Io intendevo invece di mettere quello spazio mettere un return, cioe' scrivere la " una linea a capo

 

Cioè così :

```

PS1="$DATA$MYL2{$user_color\u$lines_color@$host_color\h $dir_color\W $lines_color\$} $normal

"

```

? Ma è troppo antiestetico...ormai è più per capire come funziona bash...ho notato che la variabile $PS1 originale era inizializzata usando gli apici, e non le virgolette...a quanto ho capito ci sono delle differenze, pensi che si possa ottenere lo stesso risultato, ma senza controindicazioni? (Cioè funzionante e bello)?

----------

## fedeliallalinea

Se metti gli apici non fa azioni sulle variabili. Al posto di una linea ci sarebbe il suo codice

----------

## xoen

 *fedeliallalinea wrote:*   

> Se metti gli apici non fa azioni sulle variabili. Al posto di una linea ci sarebbe il suo codice

 

Si ho notato, ma dici che risolverei il problema in questo modo?

Modificando opportunamente l'assegnazione di $PS1?

Con qualcosa tipo :

```

$PS1=$VAR1' altri caratteri'$VAR2'\$ '

```

Ho fatto qualche prova, però tu che ne pensi? Penso ci sia un modo più elegante del buttare nel ces*o una riga di terminale  :Wink: 

----------

## fedeliallalinea

Il problema penso sia la seconda linea del prompt. E' quella che da il problema ma non so come raggirarlo

----------

## SonOfTheStage

 *Marculin wrote:*   

> se a qualcuno serve ho modificato la funzione di fedeliallalinea e ora va per l'ACPI
> 
> ```
> 
> snip
> ...

 

Ho pensato di effettuare una modifica all'ottimo "trick" di Marculin, inserendo il supporto per i 3 stati (in carica, scaricamento, caricata totalmente):

```

function mybattery {

 CHG_MESG="charging"

 NO_CHG_MESG=" discharging"

 AC="charged"

 ACPI_RESPONSE=`acpi |cut -d : -f 2 |cut -d , -f 1`

 case $ACPI_RESPONSE in

   *$NO_CHG_MESG*)

     ACstat="dschg"

     ;;

   *$CHG_MESG*)

     ACstat="chg"

     ;;

   *$AC*)

     ACstat="AC"

     ;;

 esac

 TOP="100%"

 BATT=`acpi | cut -d , -f 2`

 if [ $BATT = $TOP ]; then

   BATstat=$TOP

 else

   BATstat=`acpi | cut -d , -f 2`

 fi

 echo -n $ACstat,$BATstat

} 

```

Ciao.  :Smile: 

----------

## FonderiaDigitale

qui trovate il mio. lo uso ormai da qualche mese.

supporta il calcolo della batteria tramite acpi e tramite omnibook (per chi ha il modulo).

Il prompt esporta username:directory corrente a konsole (si vede in basso nella linguetta)

 :Rolling Eyes: 

----------

## luna80

qui invece il mio

il codice è questo:

```
 

root:

PS1="\n$gray($red\u$gray)-($cyan\$(mybattery)$gray)-($cyan\w$gray)->$normal"

users:

PS1="\n$gray($green\u$gray)-($cyan\$(mymail)$gray)-($cyan\$(mybattery)$gray)-($cyan\w$gray)->$normal"

```

----------

## Yoghi

Questo è il mio 

```

#general code for color

normal='\[\033[0m\]'

white='\[\033[0;29m\]'

gray='\[\033[1;37m\]'

red='\[\033[1;31m\]'

green='\[\033[1;32m\]'

yellow='\[\033[0;33m\]'

blue='\[\033[0;34m\]'

lightblue='\[\033[01;01;34m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[1;0;35m\]'

lightgreen='\[\033[0;32m\]'

lightred='\[\033[0;31m\]'

function battery {

   Bstat=`apm | tail -c 15 | cut -c 1-4`

   echo -n $Bstat

}

PS1="{[$red\h$white] $lightblue*\t*$white $green($(battery))$white $red\u$white:$red\w$white}\$ "

```

mi rimane il problema che la funzione battery ogni tanto nn va o meglio mi da il risultato vecchio e nn aggiornato sullo status della batteria... può essere un problema che la bash fa una sorta di cache? non so, nn sono esperto ditemi voi...   :Smile: 

----------

## stefanonafets

Il mio:

[ stefano @ AppleOne ] [ 217.133.246.xyz - 192.168.1.198 ] [ ttyp1 ]

   ~

$ less

In pratica:

(riga 1)username @ dominio, ip esterno - ip interno, terminale

(riga 2)  path completo

(riga 3)prompt

Per ricavare l'ip esterno ho fatto uno script che lo prende scaricando una pagina html, la parsa e sbatte il risultato su un file temporaneo. Lo script gira tramite crontab.

----------

## RockSteady

il mio prompt e cosi

user

[rocksteady@bboy] [pts/3] [/] *10:24:10* $

root

[rocksteady@bboy] [pts/3] [/] *10:24:10* #

codice

export PS1='\[\033[01;32m\][\u@\h] \[\033[01;34m\][`tty | sed -e"s:/dev/::"`] \[\033[01;31m\][\W]\[\033[01;01;34m\] *\t*\[\033[0;31m\] \$ \[\033[00m\]'

 :Laughing: 

----------

## Ghostraider

 *xoen wrote:*   

>  *Ghostraider wrote:*   Ottimo   non sono tanto pratico di programmazione...pensavo a qualcosa di più complicato.
> 
> Quindi faccio un bel copia e incolla...va bene alla fine del file o devo incollare il codice in qualche punto particolare del file ? 
> 
> Fai comunque attenzione 
> ...

 

Ehm...in /home/luca/.bashrc ho questo:

```
# /etc/skel/.bashrc:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bashrc,v 1.8 2003/02/28 15:45:35 azarah Exp $

# This file is sourced by all *interactive* bash shells on startup.  This

# file *should generate no output* or it will break the scp and rcp commands.

# colors for ls, etc.

eval `dircolors -b /etc/DIR_COLORS`

alias d="ls --color"

alias ls="ls --color=auto"

alias ll="ls --color -l"

# Change the window title of X terminals 

case $TERM in

   xterm*|rxvt|Eterm|eterm)

      PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'

      ;;

   screen)

      PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'

      ;;

esac

##uncomment the following to activate bash-completion:

[ -f /etc/profile.d/bash-completion ] && source /etc/profile.d/bash-completion
```

Va bene mettere il codice dopo l'ultima riga del file ?

----------

## luna80

 *Ghostraider wrote:*   

> 
> 
> Va bene mettere il codice dopo l'ultima riga del file ?

 

si dovrebbe andare bene! prova e poi apri un nuovo terminale per vedere il tuo nuovo prompt

----------

## Ghostraider

Grazie. 

Carino...Più o meno funziona...riporto solo questi errori...

```
-bash: acpi: command not found

-bash: acpi: command not found

-bash: [: =: unary operator expected

-bash: acpi: command not found

┌-(luca 2.6.10-gentoo-r6)-(31 gennaio 2005 - 15:35)-(,)-(pts/0)

└─-(~)-> su

Password:

bash: mybattery: command not found

```

Il primo forse dipende dal fatto che non ho configurato acpi ?

Il secondo "-bash: [: =: unary operator expected" non ne ho la più pallida idea  :Shocked: ...

[Edit]

Ok ho trovato...Marculin aveva il mio stesso problema

Grazie ciao.

----------

## Ghostraider

Secondo questo codice, se non sbaglio, per root il colore della stringa del kernel dovrebbe essere rosso e quello per user verde giusto ?

```
PS1="\n$gray$MYL1-($red\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

else

    PS1="\n$gray$MYL1-($green\u $MYKERNEL$gray)-($yellow$MYDATE$gray)-($yellow\$(mybattery)$gray)-($yellow$MYPTY$gray)

$MYL2-($yellow\w$gray)->$normal "

fi

```

Però a me vengono verdi entrambi...  :Rolling Eyes: 

----------

## luna80

 *Ghostraider wrote:*   

> Secondo questo codice, se non sbaglio, per root il colore della stringa del kernel dovrebbe essere rosso e quello per user verde giusto ?
> 
> Però a me vengono verdi entrambi... 

 

sei sicuro che nel tuo .bashrc hai definito entrambi i colori e non soltanto il verde?

caso mai prova a postarci il tuo file.

----------

## Ghostraider

Ho utilizzato il file di fedeliallalinea con qualche modifica...sperando sia OpenSource   :Very Happy: 

Ecco quì la definizione dei colori :

```
normal='\[\033[0m\]'

white='\[\033[0;29m\]'

gray='\[\033[1;37m\]'

red='\[\033[1;31m\]'

green='\[\033[1;32m\]'

yellow='\[\033[0;33m\]'

blue='\[\033[0;34m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[1;0;35m\]'

lightgreen='\[\033[0;32m\]'

lightred='\[\033[0;31m\]'
```

questa è la parte interessata penso :

```
PS1="\n$white$MYL1-($red$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

else

    PS1="\n$white$MYL1-($green$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

fi

```

----------

## luna80

posta tutto il file che è meglio, devo vedere come decide se visualizzare il prompt per root o un'altro

----------

## Ghostraider

Ok ecco il .bashrc

```
# /etc/skel/.bashrc:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bashrc,v 1.8 2003/02/28 15:45:35 azarah Exp $

# This file is sourced by all *interactive* bash shells on startup.  This

# file *should generate no output* or it will break the scp and rcp commands.

# colors for ls, etc.

eval `dircolors -b /etc/DIR_COLORS`

alias d="ls --color"

alias ls="ls --color=auto"

alias ll="ls --color -l"

# Change the window title of X terminals 

case $TERM in

   xterm*|rxvt|Eterm|eterm)

      PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'

      ;;

   screen)

      PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'

      ;;

esac

##uncomment the following to activate bash-completion:

[ -f /etc/profile.d/bash-completion ] && source /etc/profile.d/bash-completion

#Inizio modifiche file 31 gennaio 2005

normal='\[\033[0m\]'

white='\[\033[0;29m\]'

gray='\[\033[1;37m\]'

red='\[\033[1;31m\]'

green='\[\033[1;32m\]'

yellow='\[\033[0;33m\]'

blue='\[\033[0;34m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[1;0;35m\]'

lightgreen='\[\033[0;32m\]'

lightred='\[\033[0;31m\]'

MYL1="\033(0l\033(B"

MYL2="\033(0mq\033(B"

MYDATE="\$(/bin/date +'%d %B %Y - %H:%M')"

MYPTY="`tty | sed -e "s:/dev/::"`"

MYKERNEL="`uname -r`"

function mybattery {

 CHG_MESG="charging"

 NO_CHG_MESG=" discharging"

 AC="charged"

 ACPI_RESPONSE=`acpi |cut -d : -f 2 |cut -d , -f 1`

 case $ACPI_RESPONSE in

   *$NO_CHG_MESG*)

     ACstat="dschg"

     ;;

   *$CHG_MESG*)

     ACstat="chg"

     ;;

   *$AC*)

     ACstat="AC"

     ;;

 esac

 TOP="100%"

 BATT=`acpi | cut -d , -f 2`

 if [ $BATT = $TOP ]; then

   BATstat=$TOP

 else

   BATstat=`acpi | cut -d , -f 2`

 fi

 echo -n $ACstat,$BATstat

}

if [ `/usr/bin/whoami` = 'root' ]

then

    PS1="\n$white$MYL1-($red$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

else

    PS1="\n$white$MYL1-($green$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

fi

```

----------

## luna80

con che comando cambi utente? (solo $su? o $su -?)

----------

## Ghostraider

uso

```
su
```

----------

## mouser

utilizza

```

# su -

```

Altrimenti non ti carica il profile bash dell'utente

mouser  :Wink: 

----------

## Ghostraider

Thanks   :Very Happy:   :Very Happy: 

Ciao e grazie a tutti   :Very Happy: 

----------

## Ghostraider

Ehm...forse ho esultato troppo presto...se passo a root con il comando

```
$ su -
```

visualizzo il promt di root stile livecd 

```
Gentoo root #
```

Forse è perchè con "su -" va a prendere le impostazioni della shell in /root/.bashrc e non in ~.bashrc ?

Infatti se faccio il login direttamente da root e apro un terminale ho lo stesso output.

Quindi devo modificare il .bashrc di root, magari così funzia   :Smile: 

----------

## randomaze

 *Ghostraider wrote:*   

> Forse è perchè con "su -" va a prendere le impostazioni della shell in /root/.bashrc e non in ~.bashrc ?

 

No.

Con "su -" va a leggere il ~/.bash_profile e ignora il ~/.bashrc

per i dettagli:

```
man bash
```

----------

## luna80

 *Ghostraider wrote:*   

> 
> 
> Forse è perchè con "su -" va a prendere le impostazioni della shell in /root/.bashrc e non in ~.bashrc ?
> 
> Infatti se faccio il login direttamente da root e apro un terminale ho lo stesso output.
> ...

 

puoi altrimenti modificare soltanto il file /etc/profile mettendo quanto hai messo nel file .bashrc (ma aggiungendo 'EXPORT' davanti a PS1=...).  

così facendo funziona sia root che gli users

----------

## Ghostraider

Ok grazie mille per le info provo subito   :Very Happy:   :Very Happy: 

----------

## snake111

ciao, ho un problema, il mio prompt è ispirato a quello di fedeliallalinea che c'è in prima pagina (che ringrazio  :Smile: ), quando scrivo un comando più lungo di una linea il cursore non va a capo continuando a scrivere il comando, ma ricomincia dall'inizio della riga sovrascrivendo quello che ho appeno scritto. Come posso risolvere?

----------

## koma

problemuccio =)

il comando acpi ionon lo ho, ho al massimo acpi-batt-status 

non conosco l'output di acpi ma apci-batt-status da questo output:

```
acpi-batt-status

On AC Power; Battery BAT0 charging, currently at 118%

```

 (Che poi il 118% mi sembra strano  :Twisted Evil:  .

In ogni caso usando lo script di fedeli alla linea 69 che cito dopo

mi da questo:

```
 source .bashrc

-bash: [: too many arguments

┌-(2.6.10-nitro4)-(17 febbraio 2005 - 16:02)-(chg, currently at 118%)-(pts/0)

└─-(~)->

```

 Lo script è questo (da me modificato per quello originale scorrete qualche post  indietro).

```
normal='\[\033[0m\]'

white='\[\033[0;29m\]'

gray='\[\033[1;37m\]'

red='\[\033[1;31m\]'

green='\[\033[1;32m\]'

yellow='\[\033[0;33m\]'

blue='\[\033[0;34m\]'

magenta='\[\033[1;35m\]'

cyan='\[\033[0;36m\]'

purple='\[\033[1;0;35m\]'

lightgreen='\[\033[0;32m\]'

lightred='\[\033[0;31m\]'

MYL1="\033(0l\033(B"

MYL2="\033(0mq\033(B"

MYDATE="\$(/bin/date +'%d %B %Y - %H:%M')"

MYPTY="`tty | sed -e "s:/dev/::"`"

MYKERNEL="`uname -r`"

function mybattery {

 CHG_MESG="charging"

 NO_CHG_MESG=" discharging"

 AC="charged"

 ACPI_RESPONSE=`acpi |cut -d : -f 2 |cut -d , -f 1`

 case $ACPI_RESPONSE in

   *$NO_CHG_MESG*)

     ACstat="dschg"

     ;;

   *$CHG_MESG*)

     ACstat="chg"

     ;;

   *$AC*)

     ACstat="AC"

     ;;

 esac

 TOP="100%"

 BATT=`acpi | cut -d , -f 2`

 if [ $BATT = $TOP ]; then

   BATstat=$TOP

 else

   BATstat=`acpi | cut -d , -f 2`

 fi

 echo -n $ACstat,$BATstat

}

if [ `/usr/bin/whoami` = 'root' ]

then

    PS1="\n$white$MYL1-($red$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

else

    PS1="\n$white$MYL1-($green$MYKERNEL$white)-($blue$MYDATE$white)-($cyan$(mybattery)$white)-($red$MYPTY$white)

$MYL2-($yellow\w$white)->$normal "

fi 
```

----------

## Cazzantonio

 *koma wrote:*   

> 
> 
> ```
> acpi-batt-status
> 
> ...

 

Mica tanto... acpi spesso sballa i valori... inoltre dice che se non fai fare alla batteria cicli periodici di scarica/carica completi anche il sensore della batteria interno va fuori taratura

----------

## snake111

anche a te da il mio stesso problema con i comandi che occupano più righe?

----------

## koma

no non mi da alcun  tipo di problema.

ho modificato le righe in questo modo:

Root

```
PS1="\n$white[$red$(mybattery)$white][$cyan\w$white]# $normal"

```

User

```

PS1="\n$white[$green$(mybattery)$white][$cyan\w$white]$ $normal"

```

solo che mi da questo output per acpi (che mi sembra un po' esagerato  :Neutral: )

```
[, Battery BAT0 at 98%; 2:28 remaining][~]$

```

Mi basterebbe un  

```
[98%][~]$
```

 ma non ho ben capito come modificare gli awk sed

Magari per quando sono ad AC mi basta anche un 

```
[AC][~]$
```

\\Edit non avevo emerso acpi e acpitools  :Razz: 

ora l'output è giusto

----------

## mouser

Se sed ti sembra ostico, puoi sempre utilizzare cut  :Cool: 

mouser  :Wink: 

----------

## snake111

forse non ti da il mio problema perchè il tuo prompt è su una linea sola, mi sa che succede solo quando ci sono 2 linee di prompt.

----------

## wildancer

non sapevo esistesse un 3d apposta... Ragazzi ma perche nessuno parla di modificare profile in /etc? ho fatto una boiata a modificare il prompt da li?

```

 cat /etc/profile

# /etc/profile:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/profile,v 1.23 2003/04/29 21:23:18 azarah Exp $

#----------------Aggiuntina-------------------------------------------------------------------

LBLUE="\[\033[1;34m\]"

LGREEN="\[\033[1;32m\]"

BLUE="\[\033[0;34m\]"

LRED="\[\033[1;31m\]"

CONSOLE_USED="`tty|sed -e s:/dev/::`"

function battery {

        /usr/bin/acpitool -b | /usr/bin/gawk '{print $5}'

        }

function numberuser {

        w -h | wc -l | /usr/bin/gawk '{print $1}'

        }

function bgprocess {

        jobs | wc -l| /usr/bin/gawk '{print $1}'

        }

function temperature {

        /usr/bin/acpitool -t | /usr/bin/head -n 1 | /usr/bin/gawk '{print $5}'

        }

#------------------------------------------------------------------------------------------------

if [ -e "/etc/profile.env" ]

then

        . /etc/profile.env

fi

# 077 would be more secure, but 022 is generally quite realistic

umask 022

if [ `/usr/bin/whoami` = 'root' ]

then

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1="\n$BLUE(You are on $CONSOLE_USED)-(W:\$(numberuser)|BG_P:\$(bgprocess)|H_ID:\!)\n(\d)-(\$(date +'%H:%M'))-(bat:\$(battery))-($(temperature)°C)\n$LRED\h\n"'\[\033[1;34m\]\W \$\[\033[0m\] ' #'\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'

        fi

        export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"

else

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1="\n$BLUE(You are on $CONSOLE_USED)-(W:\$(numberuser)|BG_P:\$(bgprocess)|H_ID:\!)\n(\d)-(\$(date +'%H:%M'))-(bat:\$(battery))-($(temperature)°C)\n$LGREEN\u@\h\n"'\[\033[1;34m\]\W \$\[\033[0m\] ' #'\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'

        fi

        export PATH="/bin:/usr/bin:${PATH}"

fi

unset ROOTPATH

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]

then

        export INPUTRC="/etc/inputrc"

fi

# Extract the value of EDITOR

[ -z "$EDITOR" ] && EDITOR="`. /etc/rc.conf 2>/dev/null; echo $EDITOR`"

[ -z "$EDITOR" ] && EDITOR="`. /etc/conf.d/basic 2>/dev/null; echo $EDITOR`"

[ -z "$EDITOR" ] && EDITOR="/bin/nano"

export EDITOR

export LANG="it_IT@euro"

```

non ho purtroppouno spazio per farvelo vedere :/ ma tanto non è nulla di che, ho messo solo qualche info così...

----------

## fabius

 *wildancer wrote:*   

> non sapevo esistesse un 3d apposta... Ragazzi ma perche nessuno parla di modificare profile in /etc? ho fatto una boiata a modificare il prompt da li?

 

Dipende dalle preferenze personali. Su un sistema multiuser è meglio mettere le cose strettamente necessarie in /etc per condividerle tra tutti gli utenti senza obbligarli a configurazioni particolari (poi ognuno si arrangia nella home); se invece il computer lo usi solo tu è più comodo mettere in /etc per non dover copiare le cose per root e per l'utente. Fai attenzione agli aggiornamenti se modifichi /etc/*  :Wink: 

----------

## CarloJekko

```
                normal='\e[0m'

                gray='\e[0;37m'

                green='\e[0;32m'

                yellow='\e[0;33m'

                red='\e[0;31m'

                blue='\e[0;34m'

                cyan='\e[0;36m'

                black='\e[0;30m'

                magenta='\e[0;35m'

                ##MYL1="-"

                ##MYL2="|"

                MYL1="|"

                MYL2="|"

                MYDATE="$(/bin/date +'%d %B %Y - %H:%M')"

                MYPTY="`/usr/bin/tty | /usr/bin/sed -e "s:/dev/::"`"

                #MYKERNEL="`uname -n` on `uname -p` with a `uname -oi`"

                MYKERNEL="`/usr/bin/uname -n`"

                function CPUTEMP {

                                   cpustat=`/usr/bin/sensors it87-isa-0290|/bin/grep CPU | /usr/bin/awk '{print $3}' `

                                        echo -n $cpustat

                                        }

################################################################

if [ `/usr/bin/whoami` = 'root' ]

then

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

                export PS1='\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'

        fi

        export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"

else

        # Do not set PS1 for dumb terminals

        if [ "$TERM" != 'dumb'  ] && [ -n "$BASH" ]

        then

        

        export PS1="\n$cyan$MYL1-($green\u$blue on $red$MYKERNEL$cyan)-($blue$MYDATE$cyan)-($yellow$(CPUTEMP)$cyan)-($green$MYPTY$cyan)\n$MYL2-($green Ti trovi in $yellow\w$cyan)$blue\n: "

        

        fi

```

 (si nota che ho preso molto spunto da fedeli  :Rolling Eyes:  )

Grazie Fedeliallalinea

----------

## lavish

Il mio è bello semplice ma molto carino e chiaro   :Smile: 

```
if ${use_color} ; then

        if [[ ${EUID} == 0 ]] ; then

                PS1='\[\033[02;37m\]\h\[\033[01;31m\] \W \$\[\033[00m\] '

        else

                PS1='\[\033[02;37m\]\h\[\033[01;34m\] \w \$\[\033[00m\] '

        fi

else

```

----------

