############################################# ############################################# ## ## ## Fichier de configuration de Bash ## ## pour Skippy the Kangoo (user et root) ## ## pour diffrentes machines ## ## ## ############################################# ############################################# ######################## # Invite de connection # ######################## #PYVERSION=python -V echo "###" echo "# Hello $USER" echo "# Bienvenue chez $HOSTNAME" #echo "# Python version : " $(python -V) echo "#####" ### # Charge diffrentes variables suivant l'OS ##### # LS_OPTS # --color=auto colorise la sortie de 'ls' (ne fonctionne pas sous OpenBSD) # -F indique le style de fichier e rajoutant un caractere la fin de chaque elements # -h affiche les fichiers en K/M/G octects (necessite -l) # GREP_OPTS # --color=auto colorise la sortie de 'grep' (ne fonctionne pas sous OpenBSD) # -i ignore la casse # tux_logo et puffy_logo sont de fichier texte d'ascii-art kernel_name=$(uname -s) case "$kernel_name" in Linux) #cat $HOME/.bash/tux_logo LS_OPTS="--color=auto -h" GREP_OPTS="--color=auto -i" alias vlc_tele='vlc --extraintf=http televisionsurpc.m3u' ;; OpenBSD) cat $HOME/.bash/puffy_logo LS_OPTS="-F -h" GREP_OPTS="-i" ;; esac ### # Met la ligne d'invite en vert pour les users et en rouge pour root ##### user_id=$(id -u) if [ $user_id = 0 ] then PS1="\[\e[01;31m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ " else PS1="\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ " fi # Created by Jim Foltz # Changed by Spidey 08/06 #PS1="\[\033[31;41;1m\]\333\262\261\260\[\033[37;41;1m\]\u@\h\[\033[0m\033[31;40m\]\333\262\261\260\[\033[37;40;1m\] \d \$(date +%I:%M:%S%P)\n\[\033[31;40;1m\]\w/\[\033[0m\] " #PS2="\[\033[31;40m\]\333\262\261\260\[\033[0m\]>" echo ######################## # Aliases de commandes # ######################## alias grepm='grep $GREP_OPTS' alias df='df -h' alias targ='tar -xvzf' alias tarb='tar -xvjf' alias pssearch='ps ax | grep $GREP_OPTS $1' alias modsearch='lsmod | grep $GREP_OPTS $1' alias ssh_odin='ssh -p 1288 ob4@odin' alias hist='history 10' ### # Fermer la session " la vim" ##### alias :q='exit' ### # Aliases a base de 'ls' ##### alias ls='ls ${LS_OPTS}' alias la='ls ${LS_OPTS}a' alias ll='ls ${LS_OPTS}l' alias lla='ls ${LS_OPTS}la' ### # Edite les fichiers de conf de fvwm ##### alias vim_fvwm='vim -p $HOME/.fvwm_mouseless/{config,menus,colorsets,bindings,fonctions,modules}' ### # Edite .vimrc ##### alias vim_vimrc='vim $HOME/.vimrc' ### # Edite le fichier .bashrc ##### alias vim_bashrc='vim $HOME/.bashrc' ### # Edite mon repertoire telephonique ##### alias vim_telephone='vim /home/skippy/Desktop/telephone' ### # Recharge le .bashrc ##### alias bashrc='source $HOME/.bashrc' ######################## # Exports et variables # ######################## ### # Rajout du repertoire de scripts ##### export PATH=$HOME/binamoi:$PATH ### # Editeur de texte par defaut ##### export EDITOR=vim ### # ne pas mettre en double dans l'historique les commandes tapes 2x ##### export HISTCONTROL=ignoredups ### # lignes de l'historique par session bash ##### export HISTSIZE=5000 ### # lignes de l'historique conserves ##### export HISTFILESIZE=20000 ### # Hote et port par defaut pour mpc et ncmpc ##### export MPD_HOST="localhost" export MPD_PORT=6600 ### # LFS ##### export LFS=/mnt/lfs ### # Locale FR UTF8 ##### export lang=fr_FR.utf8 #LOCALES export LANG=fr_FR.utf8 export LANGUAGE=fr_FR.utf8 export LC_ADDRESS=fr_FR.utf8 export LC_ALL=fr_FR.utf8 export LC_COLLATE=fr_FR.utf8 export LC_IDENTIFICATION=fr_FR.utf8 export LC_MESSAGES=fr_FR.utf8 export LC_MEASUREMENT=fr_FR.utf8 export LC_MONETARY=fr_FR.utf8 export LC_NAME=fr_FR.utf8 export LC_NUMERIC=fr_FR.utf8 export LC_PAPER=fr_FR.utf8 export LC_TELEPHONE=fr_FR.utf8 export LC_TIME=fr_FR.utf8 export LC_TYPE=fr_FR.utf8 ########################## # Autres et divers... :) # ########################## ### # supporte des terminaux redimensionnables (xterm et screen -r) ###### shopt -s checkwinsize ### # Autocompletion pour bash ##### if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi ### # lecture coloree de logs (necessite ccze) ##### logview() { if [ -f /usr/bin/ccze ] then ccze -A < $1 | less -R else echo "ccze ne se trouve pas dans /usr/bin/" fi } ### # lecture coloree de logs en directfunction logview() ##### logtail() { if [ -f /usr/bin/ccze ] then tail -f $1 | ccze else echo "ccze ne se trouve pas dans /usr/bin/" fi } ### # Autocompletion avec mpc ##### _mpdadd_complete_func () { cur="${COMP_WORDS[COMP_CWORD]}" first=${COMP_WORDS[1]} hold=""; # add more escape stuff as needed: scrub='s/\([\\\>\\\<\\\(\\\)\\\";]\)/\\\1/g'; case "$first" in add) hold=`mpc tab ${cur}`; COMPREPLY=($(compgen -W "${hold}" | sed "$scrub")) return 0 ;; play|del|move) hold=`mpc playlist | sed 's/\#\([[:digit:]]\+\).*/\1/g'` # | grep "^${cur}"` COMPREPLY=($(compgen -W "${hold}" "${cur}")) return 0 ;; # TODO add trailing 's' for seconds in seek (total song time needed) seek|volume) COMPREPLY=($(compgen -W "`awk 'BEGIN{for(x=0;x<=100;x++){print x;print"-"x;print"+"x}}'`" "${cur}")) return 0 ;; # TODO get total song time and use that as a limit crossfade) COMPREPLY=($(compgen -W "`awk 'BEGIN{for(x=0;x<99;x++){print x}}'`" "${cur}")) return 0 ;; ls) if [ "x$cur" = "x" ]; then hold=`mpc ls`; else hold=`mpc lstab ${cur}`; fi COMPREPLY=($(compgen -W "${hold}" | sed "$scrub")) return 0 ;; search) COMPREPLY=($(compgen -W "album artist title filename" "${cur}")) return 0 ;; load|save|rm) if [ "x$cur" = "x" ]; then hold=`mpc lsplaylists`; else hold=`mpc loadtab ${cur}`; fi COMPREPLY=($(compgen -W "${hold}" | sed "$scrub")) return 0 ;; repeat|random) COMPREPLY=($(compgen -W "0 1 true false yes no on off" "${cur}")) return 0 ;; *) hold=`mpc help 2>&1 | awk '/^mpc [a-z]+ /{print $2}'`; COMPREPLY=($(compgen -W "${hold} status" ${cur})) return 0 ;; esac } complete -F _mpdadd_complete_func mpc #####