#############################################
#############################################
## ##
## 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 <aa204@acorn.net>
# 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
#####