ayozone
Ayoli’s blogging zone : linux, ubuntu, music, cooking, misc….
  • Home
  • Gallery
    • butterflies
    • Larzac
    • screenshots april 2008
    • screenshots august 2008
    • screenshots december 2008
    • screenshots february 2009
    • screenshots january 2009
    • screenshots june 2008
    • screenshots june 2009
    • screenshots march 2008
    • screenshots march 2009
    • screenshots may 2008
    • screenshots may 2009
    • screenshots november 2008
    • screenshots october 2008
    • screenshots september 2008
    • screenshots-december-2007
    • screenshots-february-2008
    • screenshots-january-2007
    • screenshots-november-2007
    • screenshots-october-2007
    • trees
  • Donwloads
    • mac menu debs
    • Themes Gtk, Emerald,…
    • musique
  • Guestbook
  • About

Bash : jolie invite et améliorations

computing, config Add comments

fancy bash promptJ’ai longtemps cherché comment faire un joli bash prompt J’ai trouvé pas mal d’exemples datant de 1996 et 1998 que j’ai du pas mal bidouiller.

Cependant, cette bidouille n’a jamais bien fonctionné. Par exemple, lorsque je voulais chercher une commande dans l’historique en utilisant les flèches (haut et bas) ou les raccourci CTRL-R, Il y avait un problème de colonnes.
Si je voulais changer un caractères (ou plus) dans la commande choisie dans l’historique, les caractères n’étaient en fait pas ou je les crouais, et souvent le prompt était en partie caché par la commande. Pas très utilisable.

Il ya peu de temps j’ai essayé BashStyle-ng pour voir à quel point , et de quelle manière il pouvait changer mon invite bash. AEt quelle n’a pas été ma surprise de voir dans les choix : “elite prompt” (qui était le nom du vieux prompt que j’avasi bidoullé). Du coup jai testé cette option et (encore bidouillé le bash derrière pour obtenir le look finlaement voulu.
J’ai cherché la fonction générant le prompt dans le code de BashStyle, puis apres avoir fait quelques changement j’étais content de ne pas voir mon bug d’affichage d’historique revenir. Apres un moment pas si long, j’ai fini par en retirer exactement ce que je voulais.
Donc voici la première partie de ce bashrc largement inspiré par bashstyle :*
Note :comme certains caractères spéciaux servant à dessiner les coins et lignes n’apparaissent pas dans l’article, téléchargez le fichier en bas de page..

#!/bin/bash
	
  1. based on a function found in bashtstyle-ng 5.0b1
  2. Original author Christopher Roy Bratusek (http://www.nanolx.org)
  1. Last arranged by ayoli (http://ayozone.org) 2008-02-04 17:16:43 0100 CET

    function pre_prompt {
    newPWD=”${PWD}”
    user=”whoami”
    host=$(echo -n $HOSTNAME | sed -e “s/[\.].//”)
    datenow=$(date “%a, %d %b %y”)
    let promptsize=$(echo n “-($user@$host ddd, DD mmm YY)—-(${PWD})—-” \ | wc -c | tr d ” ”)
    let fillsize=${COLUMNS}
    ${promptsize}
    fill=””
    while [ ”$fillsize” -gt “0” ]
    do fill=”${fill}—”
    let fillsize=${fillsize}-1
    done
    if [ ”$fillsize” lt “0” ]
    then let cutt=3
    ${fillsize} newPWD=”...$(echo -n $PWD | sed -e “s/\(^.\{$cutt\}\)\(.
    \)/\2/”)”
    fi

    }

    PROMPT_COMMAND=pre_prompt

    export black=”\[\033[0;38;5;0m\]”
    export red=”\[\033[0;38;5;1m\]”
    export green=”\[\033[0;38;5;2m\]”
    export yellow=”\[\033[0;38;5;3m\]”
    export blue=”\[\033[0;38;5;4m\]”
    export magenta=”\[\033[0;38;5;55m\]”
    export cyan=”\[\033[0;38;5;6m\]”
    export white=”\[\033[0;38;5;7m\]”
    export coldblue=”\[\033[0;38;5;33m\]”
    export smoothblue=”\[\033[0;38;5;111m\]”
    export iceblue=”\[\033[0;38;5;45m\]”
    export turqoise=”\[\033[0;38;5;50m\]”
    export smoothgreen=”\[\033[0;38;5;42m\]”

    PS1=”$green??($coldblue\u@\h \$(date \”%a, %d %b %y\”)$green)?\${fill}?($coldblue\$newPWD\
    $green)???\n$green($coldblue\$(date \”
    %H:%M\”) \$$green)?>$white ”


Note :comme certains caractères spéciaux servant à dessiner les coins et lignes n’apparaissent pas dans l’article, téléchargez le fichier en bas de page..

La seconde partie concerne plutot les aliases et autres réglages :

		
  • bash_history settings: size and no duplicates and no lines w/ lead spaces
    exportHISTCONTROL=”ignoreboth”
    export HISTSIZE=1024

  • aliases #############################################
  • enable color support of ls and also add handy aliases eval `dircolors -b` alias ls=’ls—color=auto’ alias dir=’ls—color=auto—format=vertical’ alias vdir=’ls—color=auto—format=long’
  • some more ls aliases alias ll=’ls -lhX’ alias la=’ls -A’ alias ldir=’ls -lhA |grep ^d’ alias lfiles=’ls lhA |grep ’ #alias l=’ls -CF’
  • To see something coming into ls output: lss
  • alias lss=’ls -lrt | grep $1’
    1. To check a process is running in a box with a heavy load: pss
    alias pss=’ps -ef | grep $1’
    1. usefull alias to browse your filesystem for heavy usage quickly
    alias ducks=’ls -A | grep -v -e ’\’‘\.\.$’\’’ |xargs -i du -ks {} |sort -rn |head -16 | awk ’\’’{print $2}’\’’ | xargs -i du -hs {}’
    1. cool colors for manpages
    alias man=”TERMINFO=~/.terminfo TERM=mostlike LESS=C PAGER=less man”

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

    1. enable programmable completion features (you don’t need to enable
    2. this, if it’s already enabled in /etc/bash.bashrc).
      if [ -f /etc/bash_completion ]; then . /etc/bash_completion
      fi

    3. CDPATH initialisation
    4. CDPATH=.:~:/media

    download bashrc.txt
    (faites une copie de sauvegarde de votre ~/.bashrc, puis téléchargez ce fichier en utilisant le clic droit puis “enregistrer la cible sous” puis placez le dans votre home en le renomant .bashrc).

    Tags: bash, config, prompt, shell


    25 February 2008 |

    Tags: bash, config, prompt, shell


    4 Responses to “Bash : jolie invite et améliorations”

    1. It doesn't matter
      5 May 2008 at 2:11

      “imp?ovments”?
      My english writing skills sux, but a spelling error in the title is too much =P


    2. ajeffreys
      29 March 2008 at 17:23

      Thanks for this, just what I was looking for :)


    3. ayoli
      26 February 2008 at 21:39

      Cet alias ducks, je lavais trouvé sur un site il y a deja quelques années. Je ne m’en sert pas beaucoup à vrai dire. Je ne suis meme pas sur qu’il se compporte réélement bien.


    4. Don Fenice
      26 February 2008 at 11:16

      Tres interessant ces alias, notamment l’alias ducks.

      Pour les scan de fichiers du repertoire courant j’utilise cet alias, moins poussez que le ducks mais assez utile :
      alias lh=’ls -sShr1’


    Leave a Reply

    *
    To prove that you're not a bot, enter this code
    Anti-Spam Image

    • Tags

      Intrepid metacity applications jquery tabs bash brightness gtk js gnome xorg elegant wordpress install global menu bugs blog ubuntu ftp firefox linux weird emerald screen searchplugin plugin IE themes screensaver guestbook xul menu php guide code snippets prompt gutsy hardy shell wifi tips script macmenu terminal config
    • Le Net en France : black-out

      HADOPI - Le Net en France : black-out
    • Google it

      •  » Add Ayozone search to your browser !
    • Ads

    • Langage

      • english english
      • français français
    • Blogroll

    • Other blog and sites

      • » YAB
      • » b-initials
      • » binema.com
      • » Eleonore G. portfolio
      • » FabLer Art
      • » tig12 (fr)
      • » urukrama’s blog
    • Meta

      • Log in
      • Entries RSS
      • Comments RSS
      • WordPress.org
    Copyright © 2009 ayozone All Rights Reserved
    RSS XHTML CSS Log in
    Wp Theme by n Graphic Design
    Powered by Wordpress Monitoring internetVista® - Monitoring de sites web