[bashrc] publiez vos .bashrc

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

[bashrc] publiez vos .bashrc

Message par marc[i1] »

Étonnament je n’ai vu aucun sujet traitant de ce merveilleux fichier donc, je publie le mien.

Code : Tout sélectionner

# .bashrc

###################################
# fichier de configuration de bash
#   marc[i1]
###################################

        export EDITOR="vim"                 # choix de l’éditeur

# auto-complétion
        if [ -f /etc/bash_completion ] ;
                 then . /etc/bash_completion
        fi

# source pour autojump
        source /etc/profile.d/autojump.bash

# This line was appended by KDE
# Make sure our customised gtkrc file is loaded.
        export GTK2_RC_FILES=$HOME/.gtkrc-2.0

# pour la docs python
        export PYTHONDOCS=/usr/share/doc/python/html/

# export pour OOo
#export OOO_FORCE_DESKTOP=kde

# Pour avoir les couleurs dans les pages man
        export LESS_TERMCAP_mb=$'\E[01;31m'    # debut de blink !
        export LESS_TERMCAP_md=$'\E[01;31m'    # debut de gras
        export LESS_TERMCAP_me=$'\E[0m'        # fin
        export LESS_TERMCAP_se=$'\E[0m'        # fin
        export LESS_TERMCAP_so=$'\E[01;44;33m' # début de la ligne d'état
        export LESS_TERMCAP_ue=$'\E[0m'        # fin
        export LESS_TERMCAP_us=$'\E[01;32m'    # début de souligné

        #alias man1='LESSCHARSET=latin9 man -C /etc/man.conf.latin1'

################################
#         COULEURS
################################

# couleurs de base
  rouge="\[\033[31m\]"
  vert="\[\033[32m\]"
  jaune="\[\033[33m\]"
  bleu="\[\033[34m\]"
  magenta="\[\033[35m\]"
  blanc="\[\033[00m\]"

# couleurs brillantes
  h_rouge="\[\033[1;31m\]"
  h_vert="\[\033[1;32m\]"
  h_jaune="\[\033[1;33m\]"
  h_bleu="\[\033[1;34m\]"
  h_magenta="\[\033[1;35m\]"
  h_blanc="\[\033[1;00m\]"


################################
#    BASHRC au petit oignons
################################

# -----------------------
# reglage des parametres
# -----------------------
        alias ls="ls --color=auto"          # couleur pour ls
        alias grep="grep --color=auto"  # couleur pour grep
        alias ll="ls -al"                          # ls en liste avec détail
        alias rm="rm -i"                       # demande pour effacer
        alias mv="mv -i"                       # demande pour déplacer
        export PS1='\[\033[0;36;49m\w\n\033[1;33;49m\u\033[0m \$ '
        umask 022
        export PAGER=most
        export LESSCHARSET=utf-8
        export HISTCONTROL='ignoreboth' # ignore doublons et espace (cf man)
        export HISTTIMEFORMAT="$(echo -e '\e[0;32m')[ %d/%m/%Y %H:%M:%S ] $(echo -e '\e[0m') "
        export HISTIGNORE="ls:cd:ll"    # ignore ls,cd,ll sans arguments
        shopt -s cdspell                        # tolère les erreurs de frappe

# -----------------------
# alias pour fégniants
# -----------------------
        alias top="htop"                                # remplace top par htop

        alias dl="wget -c"                              # wget en continue

        alias pong="ping -c3 exalead.fr" # ping

        alias maj="yaourt -Qu"                  # Recherche MàJ

        alias imaj="yaourt -Su"                 # Applique MàJ

        alias victor="shred -zvu -n 30" # Éradication de fichiers
et vous ?
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
Desintegr
Chu Ko Nu
Messages : 354
Inscription : jeu. 28 avr. 2011, 16:42
Localisation : Orléans - France

Re: [bashrc] publiez vos .bashrc

Message par Desintegr »

Je n'utilise pas bash car j'ai une nette préférence pour zsh.
J'espère que ça ne sera pas trop HS.

Voici mon .zshrc :

Code : Tout sélectionner

# modules
autoload -U colors && colors
autoload -U compinit && compinit

# dircolors
eval $(dircolors -b)

# export
export PATH=$PATH:~/.bin
export HISTFILE=~/.histfile
export HISTSIZE=10000
export SAVEHIST=10000
export EDITOR="vim"
export LESSOPEN="| src-hilite-lesspipe.sh %s"

# man colors
export LESS_TERMCAP_mb=$(print "\e[$color[red];$color[blink]m")     # begin blinking
export LESS_TERMCAP_md=$(print "\e[$color[red]m")                   # begin bold
export LESS_TERMCAP_us=$(print "\e[$color[red];$color[underline]m") # begin underline
export LESS_TERMCAP_me=$(print "\e[$color[none]m")                  # end mode
export LESS_TERMCAP_so=$(print "\e[$color[black];$color[reverse]m") # begin standout
export LESS_TERMCAP_se=$(print "\e[$color[none]m")                  # end standout

# completion
zstyle ":completion:*" use-cache yes
zstyle ":completion:*" cache-path ~/.zsh/cache
zstyle ":completion:*" menu select=long
zstyle ":completion:*" completer _complete _approximate
zstyle ":completion:*" matcher-list "" "m:{a-zA-Z}={A-Za-z}"
zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}
zstyle ":completion:*" ignored-patterns "_*"

# prompt
PROMPT=$(print "%{\e[$color[blue];$color[bold]m%}%~%{\e[$color[none]m%} %{\e[$color[black];$color[bold]m%}")
if [[ -n $SSH_CONNECTION ]]; then
	PROMPT+="%m "
fi
PROMPT+=$(print "%#%{\e[$color[none]m%} ")

# title
if [[ $TERM =~ "^xterm|screen" ]]; then
	preexec () { print -Pn "\e]0;$1\a" }
fi

# key binding
bindkey -v

bindkey "\e[1~" beginning-of-line       # home
bindkey "\e[2~" overwrite-mode          # insert
bindkey "\e[3~" delete-char             # del
bindkey "\e[4~" end-of-line             # end
bindkey "\e[5~" history-search-backward # page up
bindkey "\e[6~" history-search-forward  # page down
bindkey "\e[A"  up-line-or-history      # arrow up
bindkey "\e[B"  down-line-or-history    # arrow down
bindkey "\e[C"  forward-char            # arrow right
bindkey "\e[D"  backward-char           # arrow left

bindkey "\e[H"  beginning-of-line       # home (xterm)
bindkey "\e[F"  end-of-line             # end (xterm)

bindkey "^R"    history-incremental-search-backward

# options
setopt auto_cd
setopt no_bang_hist
setopt hist_ignore_dups
setopt hist_reduce_blanks
setopt inc_append_history
setopt share_history
setopt no_clobber
setopt correct

# short aliases
alias sudo="sudo " # passing aliases
alias s="sudo"
alias c="cat"
alias l="less"
alias g="grep"
alias h="head"
alias t="tail"
alias v="vim"
alias p="pacman"

# general aliases
alias su="su --login"
alias diff="colordiff --unified"
alias df="df --human-readable"
alias du="du --human-readable"
alias less="less --quit-if-one-screen --chop-long-lines --RAW-CONTROL-CHARS --no-init"
alias grep="grep --extended-regexp --color=always"
alias mkdir="mkdir --parents --verbose"
alias tree="tree -C"

# ls aliases
alias ls="ls --color=always --classify --group-directories-first --human-readable"
alias ll="ls -l"
alias lr="ls --recursive"
alias la="ls --almost-all"
alias llr="ll --recursive"
alias lla="ll --almost-all"

# safety aliases
alias cp="cp --interactive"
alias mv="mv --interactive"
alias rm="rm --interactive"
alias ln="ln --interactive"

# global aliases
alias -g C="| wc --lines"
alias -g L="| less"
alias -g G="| grep"
alias -g H="| head"
alias -g T="| tail"

# functions
f () { find -iname "*$1*" }
Quelques fonctionnalités sympathiques (dans l'ordre de lecture du fichier) :
  • Coloration syntaxique avec less et source-highlight
  • Coloration des pages de man
  • Complétion automatique à la zsh avec couleurs et corrections des fautes de frappes
  • Un prompt minimaliste qui affiche le dossier courant, le nom de le machine (uniquement en cas de connexion SSH) et le type de l'utilisateur (% pour normal, # pour root)
  • Mapping clavier style vi
  • cd automatique
  • Historique incrémental et partagé entre les sessions
  • Protection des redirections > si le fichier existe
  • Correction des fautes de frappes pour les commandes
  • Des aliases pour les commandes les plus utilisées : sudo, cat, less, grep, head, tail, vim et pacman
  • Des aliases pour utiliser des paramètres pour certaines commandes, ex. coloration et tri par dossier avec ls, mode interactif pour cp, mv, rm et ln
  • Des aliases globaux pour utiliser G à la place de | grep, L à la place de | less, etc.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [bashrc] publiez vos .bashrc

Message par FoolEcho »

Code : Tout sélectionner

# .bashrc

# Source global definitions
if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc
fi

# User specific aliases and functions
alias clean="~/bin/clean.sh"
alias emacs="emacs -geometry 57x60+0+0 -fg black -bg azure"
alias konqueror="konqueror --profile Perso"

alias ls="ls --color=auto"
alias l="ls"
alias ll="l -l"
alias la="ll -a"
alias tree="tree -C"

## Using playlist (because so much Musique)
alias music="~/bin/music.sh ~/dwhelper ~/mp3 ~/Musique"

# Latex : letter, etc.
export TEXINPUTS=$HOME/texmf//:

# ... because vim... '-_-
export EDITOR=/usr/bin/emacs

## Games
# Wine
# Might and Magic VI (no-cd, plein écran), VII (plein écran), VIII (plein écran)
#export MM_HOME=~/.wine/drive_c/Games/3DO/
#export MANDATE_OF_HEAVEN_HOME=${MM_HOME}/Might\ and\ Magic\ VI
#export BLOOD_AND_HONOR_HOME=${MM_HOME}/Might\ and\ Magic\ VII
#export DAY_OF_DESTROYER_HOME=${MM_HOME}/Might\ and\ Magic\ VIII

#alias mm6='cd "$MANDATE_OF_HEAVEN_HOME";wine mm6.exe;cd -'
#alias mm7='cd "$BLOOD_AND_HONOR_HOME";wine MM7-Rel.exe;cd -'
#alias mm7='cd "$BLOOD_AND_HONOR_HOME";wine MM7.exe;cd -' #MM7Setup.Exe ?
#alias mm8='cd "$DAY_OF_DESTROYER_HOME";wine MM8.EXE;cd -'

# Arcanum (no-cd, plein écran)
#export ARCANUM=~/.wine/drive_c/Program\ Files/Sierra/Arcanum

#alias arcanum='path=`pwd`;cd "${ARCANUM}";wine Arcanum.exe -no3d;cd $path'
#alias arcanum='cd "${ARCANUM}";wine Arcanum.exe -no3d;cd -'

# Planescape Torment (fenêtré seulement --> Torment.ini: Full Screen = 0)
#export TORMENT=/home/ylange/.wine/drive_c/Program\ Files/Black\ Isle/Torment
#alias torment='cd "${TORMENT}";wine Torment.exe;cd -'


## Support de couleurs pour PROMPT
# https://wiki.archlinux.org/index.php/Color_Bash_Prompt
#le zéro après la première séquence d'échappement précise le format de la police à utiliser. Les valeurs significatives sont 0, 1, 21, 4, 24, 5, 25, 7, 27 et ont respectivement pour effet : normal, gras, non gras, souligné, non souligné, clignotant, non clignotant, inversé, non inversé.
black='\[\e[0;30m\]'
GREY='\[\e[1;30m\]'
red='\[\e[0;31m\]' 
RED='\[\e[1;31m\]' 
green='\[\e[0;32m\]' 
GREEN='\[\e[1;32m\]' 
yellow='\[\e[0;33m\]' 
YELLOW='\[\e[1;33m\]' 
blue='\[\e[0;34m\]' 
BLUE='\[\e[1;34m\]' 
magenta='\[\e[0;35m\]' 
MAGENTA='\[\e[1;35m\]' 
cyan='\[\e[0;36m\]' 
CYAN='\[\e[1;36m\]' 
white='\[\e[0;37m\]' 
WHITE='\[\e[1;37m\]' 
txtrst='\[\e[0m\]'    # text reset

##
#\d pour ajouter la date (format anglais) 
#\t pour ajouter l'heure (HH:MM:SS) 
#\u pour ajouter le nom de l'utilisateur 
#\r pour un retour à la ligne 
#\w pour ajouter le chemin complet du répertoire courant 
#\W pour ajouter le répertoire courant 
#\h pour ajouter le nom de la machine 
#\$ pour afficher une terminaison personnalisée ($ pour les utilisateurs et # pour root)


## PROMPT perso ^^
# sam. oct. 10 13:46:43
# ~
# ylange@Breeze $
export PS1=${GREY}'\n\d '${white}'\t\n'${MAGENTA}'\w\n'${CYAN}'\u'${cyan}'@\h \$ '${txtrst}


# Start
fortune
echo "------------------------------------------------------------"
archey3
echo "------------------------------------------------------------"
df -m
echo "------------------------------------------------------------"

## Auto-complétement silencieux sous X ^^
xset -b
## Auto-complétement avec sudo, man
complete -cf sudo
complete -c man
Rien que de très classique côté raccourcis. Emacs comme éditeur par défaut.
clean.sh est un script pour virer les *~ et autres machins du même genre.
music.sh ramasse les fichiers audios (individuel ou dans des répertoires + récursif) pour en faire une liste de lecture à la volée et la jouer en boucle, au pif, via mplayer (histoire de sortir d'Amarok et de faire un peu de bash).
Pleins de vieux trucs qui traînent de wine (toute ma jeunesse ^^), tous commentés car plus installés depuis le passage à Arch (pour me rappeler qu'il faudrait que j'y jette à nouveau un oeil, un jour).
Prompt perso. Complétement des commandes sur sudo et man.
Et à chaque démarrage de console, histoire de bouffer plein de place: affichage d'archey + occupation du système de fichiers et la petite citation (même pas honte: fortune-mod-{fr, de, linux-fr, simpson-fr, starwars}).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1194
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [bashrc] publiez vos .bashrc

Message par karhu »

J'ose à peine exposer mon .bashrc tellement il est pauvre, mais je vais regarder les votres avec intérêt.

Code : Tout sélectionner

# Check for an interactive session
[ -z "$PS1" ] && return
PS1='\u > '
# alias ou fonctions de confort
alias ls='ls --color=auto'
alias ll='ls -la'
# pour lancer une commande en tant que root from Calimero
xsu () { su -c "$*"; }

# paramètres
export EDITOR="vim"

# pour avoir de la couleur à la console
#
# le gestionnaire de paquets après avoir installer pacman-color
export PACMAN=pacman-color
# les pages de manuel après avoir installer le programme most
export PAGER="most"
Le montage de partitions personnelles ainsi que les ajouts dans le PATH sont faits dans .bash_profile, cela évite de les relancer à chaque ouverture de terminal.
Je n'utilise pas trop les alias pour me simplifier l'appel de programmes, je préfère écrire des petits scripts, que je place dans mon répertoire ~/bin.

Une question pour foolEcho :
foolEcho a écrit :

Code : Tout sélectionner

# Source global definitions
if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc
fi
ce fichier n'est il pas lu une seule fois au démarrage, après le fichier profile ?
Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [bashrc] publiez vos .bashrc

Message par FoolEcho »

karhu a écrit :ce fichier n'est il pas lu une seule fois au démarrage, après le fichier profile ?
Ah, tu me poses une colle... Alors tu as raison... donc j'ai deux explications possibles (qui ne s'excluent pas :mrgreen: ):
1) je suis un crétin ;
2) j'ai un très vieux ~/.bashrc que j'ai trimballé sur d'autres distributions et qu'à ce moment là, c'était le ~/.bashrc qui chargeait le /etc/bashrc (on en trouve encore plein comme ça et y a un certain nombre d'articles qui en parlent: http://www.math-info.univ-paris5.fr/cdc/shell.html#8.2 )... Je ne sais pas si ça a changé partout maintenant ou si c'est une particularité d'Arch ( https://wiki.archlinux.org/index.php/Bash#Startup_files ), je n'y avais jamais prété attention (on en avait parlé sur un autre sujet pourtant, mais je n'avais pas tilté)... d'autant que je n'examine pas dans le détail mon ~/.bashrc tous les jours (alors j'ai peut-être machinalement modifié ce chemin quand je suis passé à Arch: /etc/bashrc > /etc/bash.bashrc... ou pas, je ne sais plus...).
Donc sous Arch, ça ne sert effectivement à rien, en a t-il toujours été ainsi, je ne sais pas ? (bon, après c'est de l'inclusion de fichiers, donc pas trop grave). :mrgreen: ...
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
CyDes
Daikyu
Messages : 71
Inscription : mar. 08 juin 2010, 21:41
Localisation : Nantes

Re: [bashrc] publiez vos .bashrc

Message par CyDes »

Voici le mien :

Rien de folichon juste la fonction extract que j'avais trouver sur le net pour extraire les archives sans se prendre avec la syntaxe et "export HISTCONTROL=ignoredups" qui permet d'ignorer les doublons dans le fichier history ( ça raccourcis drôlement le fichier).

Code : Tout sélectionner

 #
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

#PROMPT

#Default
#PS1='[\u@\h \W]\$ '
# Vert pour user lambda
PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '

#ALIAS DE COMMANDES

alias bye='exit'
alias ls='ls --color=auto'
alias ls='ls --color=auto'
alias yu='yaourt -Syu'
alias yi='yaourt -S'
alias yq='yaourt'
alias yr='yaourt -Rscn'
alias clean='yaourt -Scc'
alias ..='cd ..'
alias ....='cd ../..'

#FONCTION EXTRACT

extract () {
 if [ -f $1 ] ; then
 case $1 in
 *.tar.bz2) tar xvjf $1 ;;
 *.tar.gz) tar xvzf $1 ;;
 *.bz2) bunzip2 $1 ;;
 *.rar) rar x $1 ;;
 *.gz) gunzip $1 ;;
 *.tar) tar xvf $1 ;;
 *.tbz2) tar xvjf $1 ;;
 *.tgz) tar xvzf $1 ;;
 *.zip) unzip $1 ;;
 *.Z) uncompress $1 ;;
 *.7z) 7z x $1 ;;
 *) echo "don't know how to extract '$1'..." ;;
 esac
 else
 echo "'$1' is not a valid file!"
 fi
 }

export VISUAL="nano"
export EDITOR="nano"
export HISTCONTROL=ignoredups
export PATH="/usr/lib/colorgcc/bin:$PATH"

# AUTOCOMPLETION
complete -c man
Dernière modification par CyDes le dim. 14 août 2011, 23:00, modifié 1 fois.
Quand vous avez tout essayé, lisez le mode d'emploi...
Avatar de l’utilisateur
oloꟼ
Chu Ko Nu
Messages : 381
Inscription : sam. 23 oct. 2010, 21:30

Re: [bashrc] publiez vos .bashrc

Message par oloꟼ »

Rien d'extraordinnaire non plus de mon côté, mais en même temps ça m'abonne au sujet.

Vous pouvez trouver mon bashrc ici : http://pastebin.archlinux.fr/433539
J'ai commenté directement sur le fichier, je pense que c'est assez explicite.

Et une capture du prompt pour se rendre compte :

Image
Dernière modification par oloꟼ le lun. 15 août 2011, 21:37, modifié 1 fois.
oloꟼ aka ewloni
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1194
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [bashrc] publiez vos .bashrc

Message par karhu »

Suite à vos .bashrc j'ai moi aussi voulu supprimer les doublons dans mon fichier "history", donc j'ai rajouté la ligne :

Code : Tout sélectionner

export HISTCONTROL='ignoreboth'
Après un

Code : Tout sélectionner

 source .bashrc
c'est la même chose. Mais par contre après un redémarrage la commande history me liste tous mes anciens changements de répertoire avec en prime la commande printf + cd + d'autres codes insérés dans les chemins sur chaque ligne !!!
Qu'ai je raté ?
Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
oloꟼ
Chu Ko Nu
Messages : 381
Inscription : sam. 23 oct. 2010, 21:30

Re: [bashrc] publiez vos .bashrc

Message par oloꟼ »

ignoreboth évite juste d'enregistrer deux commandes identiques si elles se suivent (et celles commençant par un espace).
Si tu veux supprimer l'ensemble des doublons, il faut utiliser erasedups.
oloꟼ aka ewloni
Avatar de l’utilisateur
n3os
archer
Messages : 115
Inscription : mar. 12 avr. 2011, 20:37

Re: [bashrc] publiez vos .bashrc

Message par n3os »

Salut,

idéalement --> export HISTCONTROL=ignoreboth:erasedups

ignoreboth rassemble les paramètres ignoredups + ignorespace
erasedups, quand tu resaisis une commande genre ls, il virera les autres ls de l'historique.

le mieux quand on change ces paramètres, c'est de repartir sur des history vides,
supprimer le contenu de bash_history du user et root.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1194
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [bashrc] publiez vos .bashrc

Message par karhu »

OK, ça marche maintenant avec des " au lieu de '.

Code : Tout sélectionner

export HISTCONTROL="ignoreboth:erasedups"
Merci n3os. Karhu.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
n3os
archer
Messages : 115
Inscription : mar. 12 avr. 2011, 20:37

Re: [bashrc] publiez vos .bashrc

Message par n3os »

Ça marche même sans guillemets
Avatar de l’utilisateur
n3os
archer
Messages : 115
Inscription : mar. 12 avr. 2011, 20:37

Re: [bashrc] publiez vos .bashrc

Message par n3os »

Code : Tout sélectionner

#
# ~/.bashrc
#

#[ -r /etc/bash_completion   ] && . /etc/bash_completion

# bash_history settings: size and no duplicates and no lines w/ lead spaces
export HISTCONTROL=ignoreboth:erasedups
export HISTSIZE=50
export HISTIGNORE="ls:cd:ll:pcu:pcr:&:[bf]g:exit"
export HISTFILESIZE=50

PS1='\[\033[1;38m\]\u \[\033[1;34m\]\w\n\[\033[1;38m\]>> \[\033[00m\]'
#PS1="\[\033[1;34m\][\u] \[\033[1;33m\][ \d \@ ] \[\033[1;32m\][ \w ] \[\033[0m\] \n >> "

export PAGER="most"
export EDITOR="nano"
export BROWSER='firefox'
export browser='firefox'
export PACMAN=pacman-color

if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls -al --group-directories-first --color=auto'
    alias ddc='dd if=/dev/zero of=/dev/sda'
    alias df='df -hT'
    alias meminfo="echo -e '/proc/meminfo:\n';grep --color=auto '^[Mem|Swap]*[Free|Total]*:' /proc/meminfo && echo -e '\nfree -m:'; free -m"
    alias grep='grep --color=auto -in'
    alias modin="lsmod | cut -d' ' -f1 | xargs modinfo | egrep '^file|^desc|^dep' | sed -e'/^dep/s/$/\n/g'"
    alias psm='ps -e o comm,%mem,rss,vsz --sort -rss | head -n 10'
    alias topten='ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10'
    alias shred='shred -n 35 -z -u'
    alias menu='su -c "leafpad /boot/grub/menu.lst"'
    alias xex='su -c "leafpad /etc/X11/xorg.conf.d/20-nvidia.conf"'
    alias nettoie='find -P ~/ -regex ".*\(~\|mozilla.*/Cache.*\|/.thumbnails/.*\|/temp/.*\|vlc.*/cache.*\)" -type f -print -delete && rm -vfr ~/.local/share/Trash/* ~/.dvdcss/* ~/.recently-used'
    alias net='watch -n 1 "netstat -tpanl | grep ESTABLISHED"'
    #alias mkr='mkdir -p doc/{text/,img/{wallpaper/,photos/}}'
    alias netstat='netstat -nape --inet'
    alias conky='conky 2>/dev/null &'
    alias jrnet='/root/./cleanup'
    alias pcu='pacman -Syu'
    alias pci='pacman -S'
    alias pcr='pacman -Rsn'
    alias search='pacman -Ss'
    alias slist='su -c "leafpad /etc/pacman.conf"'
    alias list='pacman -Ql'
    alias forcefsck='shutdown -r -F now'
    alias pqi='pacman -Qe'
    alias pss='pacman -Ss'
    alias pqs='pacman -Qs'
    alias orpho='pacman -Qdt'
    alias pcc='pacman -Scc'
    alias yau='yaourt -Syua'
    alias orpho2='yaourt -Qdt'
    alias info='pacman -Si'
    alias lsdep="pacman -Sl"
fi
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [bashrc] publiez vos .bashrc

Message par Ypnose »

Code : Tout sélectionner

#
#.bashrc
#

# Check for an interactive session
[ -z "$PS1" ] && return

#PS1='[\u@\h \W]\$ '
#PS1='\[\e[0m\]┌─[\u@\h][\W]\n\[\e[1m\]└──[\$]\[\e[0m\] '
#PS1='\[\e[0m\]╒══|\[\e[0;32m\]\u\[\e[0m\]@\[\e[4;96m\]\h\[\e[0m\]|════════════════╕\[\e[0;95m\][\w]\n\[\e[0m\]└────\[\e[0;92m\][\$]\[\e[0m\]──>\[\e[0m\] '
PS1='\[\e[0m\]┌───< \[\e[0;36m\]\u\[\e[0m\] >───< \[\e[0;33m\]\W\[\e[0m\] >\[\e[0m\]\n└──>\[\e[0m\] '

#PATH
export PATH=$PATH:$HOME/.HoN

#BROWSER
if [ -n "$DISPLAY" ]; then
	BROWSER=chromium
else
	BROWSER=links
fi
export BROWSER

export TERMINAL=urxvt
export EDITOR=nano

#ALIASES
alias ls='ls --color=auto'
alias cho='chromium'
alias na='nano'
alias sx='startx'
alias mp='mocp'
alias shurn='sudo shutdown -r now'
alias shuhn='sudo shutdown -h now'
alias shot='scrot'
alias shot3='scrot -cd 3'
alias shot6='scrot -cd 6'
alias sen='sensors'
alias senw='watch -n10 sensors'
alias mou='mumble'
alias hon='hon-x86_64'
alias pi='ping -c6 www.google.fr'
alias pl='ping -c6 192.168.1.1'
alias paq='pacman -Q'
alias see='screenfetch -D "Archlinux"'
alias sees='screenfetch -sD "Archlinux"'
alias tex='geany'
alias md='md5sum'

#EXTRACT
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "don't know how to extract '$1'..." ;;
esac
else
echo "'$1' is not a valid file!"
fi
}
Avatar de l’utilisateur
adama88
Hankyu
Messages : 20
Inscription : mer. 19 janv. 2011, 15:20
Localisation : Pithiviers

Re: [bashrc] publiez vos .bashrc

Message par adama88 »

Bonjour,

J'ai vu plusieurs fois dans une fenêtre de terminal l'affichage du logo de archlinux avec des infos systèmes. Je n'ai malheureusemeent pas trouvé de tuto concernant cette possibilité. Est-ce réalisé dans un .bashrc ?
N'y connaissant rien en langage bash, j'aimerai pouvoir en reproduire un et l'étoffer par la suite avec mes propres alias.
Archlinux KDE Plasma 5 64 bits.
Avatar de l’utilisateur
CyDes
Daikyu
Messages : 71
Inscription : mar. 08 juin 2010, 21:41
Localisation : Nantes

Re: [bashrc] publiez vos .bashrc

Message par CyDes »

Salut,

c'est un script basique dans le langage que tu souhaite. voici un exemple en perl.

Code : Tout sélectionner

#!/usr/bin/perl
use Switch;
use strict;
use File::Basename;

####################
## Config options ##
####################

## What distro logo to use to use, Available "Archlinux Debian Ubuntu None" ##
my $distro = "Archlinux";
my $myArchVersion = "ArchLinux (Core Dump)";

## what values to display. Use "OS Kernel DE WM win_theme Theme Font Icons" ##
my $display = "OS Kernel DE WM Win_theme Theme Icons Font Background";

## Takes a screen shot if set to 0 ##
my $shot = 0;
## Command to run to take screen shot ##
my $command = "scrot -d 10";

## What colors to use for the variables. ##
my $textcolor = "\e[0m";

## Prints little debugging messages if set to 0 ##
my $quite = 1;



########################
## Script starts here ##
########################
## Define some thing to work with strict ##
my @line = ();
my $found = 0;
my $DE = "NONE";
my $WM = "Beryl";

## Hash of WMs and the process they run ##
my %WMlist = ("Beryl", "beryl",
              "Fluxbox", "fluxbox",
              "Openbox", "openbox",
              "Blackbox", "blackbox",
              "Xfwm4", "xfwm4",
              "Metacity", "metacity",
              "Kwin", "kwin",
              "FVWM", "fvwm",
              "Enlightenment", "enlightenment",
              "IceWM", "icewm",
              "Window Maker", "wmaker",
              "PekWM","pekwm" );

## Hash of DEs and the process they run ##     
my %DElist = ("Gnome", "gnome-session",
              "Xfce4", "xfce-mcs-manage",
          "Xfce4.6", "xfconfd",
              "KDE", "ksmserver");

## Get Kernel version ##
if ( $display =~ "Kernel"){
  print "\::$textcolor Finding Kernel version\n" unless $quite == 1;
  my $kernel = `uname -r`;
  $kernel =~ s/\s+/ /g;
  $kernel = " Kernel:$textcolor $kernel";
  push(@line, "$kernel");
}

## Find running processes ##
print "\::$textcolor Getting processes \n" unless $quite == 1;
my $processes = `ps -A | awk {'print \$4'}`;

## Find DE ##
while( (my $DEname, my $DEprocess) = each(%DElist) ) {
  print "\::$textcolor Testing $DEname process: $DEprocess \n" unless $quite == 1;
  if ( $processes =~ m/$DEprocess/ ) {
    $DE = $DEname;
    print "\::$textcolor DE found as $DE\n" unless $quite == 1;
    if( $display =~ m/DE/ ) {
      push(@line, " DE:$textcolor $DE");
    }
    last;
  }
}

## Find WM ##
while( (my $WMname, my $WMprocess) = each(%WMlist) ) {
 print "\::$textcolor Testing $WMname process: $WMprocess \n" unless $quite == 1;
  if ( $processes =~ m/$WMprocess/ ) {
    $WM = $WMname;
    print "\::$textcolor WM found as $WM\n" unless $quite == 1;
    if( $display =~ m/WM/ ) {
      push(@line, " WM:$textcolor $WM");
    }
    last;
  }
}

## Find WM theme ##
if ( $display =~ m/Win_theme/ ){
  switch($WM) {
    case "Openbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/openbox/rc.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /<name>(.+)<\/name>/ ) {
          while ( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }
      close(FILE);
    }
    case "Metacity" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $gconf = `gconftool-2 -g /apps/metacity/general/theme`;
      print "\::$textcolor $WM theme found as $gconf\n" unless $quite == 1;
      chomp ($gconf);
      push(@line, " WM Theme:$textcolor $gconf");
    }
    case "Fluxbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.fluxbox/init")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Blackbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.blackboxrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Xfwm4" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      switch($DE) {
    case "Xfce4" {
          open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/xfwm4.xml")
          || die "\e[0;31m<Failed>\n";
            while( <FILE> ) {
            if( /<option name="Xfwm\/ThemeName" type="string" value="(.+)"\/>/ ) {
              print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
              push(@line, " WM Theme:$textcolor $1");
            }
          }
            close(FILE);
    }
    case "Xfce4.6" {
      my $xfconf = `xfconf-query -c xfwm4 -p /general/theme`;
      chomp($xfconf);
      push(@line, " WM Theme:$textcolor $xfconf");
    }
      }    
    }
    case "Kwin" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kwinrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /PluginLib=kwin3_(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Enlightenment" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $remote = `enlightenment_remote -theme-get theme` ;
      if( $remote =~ m/.*FILE="(.+).edj"/ ) {
        print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
        push(@line, " WM Theme:$textcolor $1");
      }     
    }       
    case "IceWM" { 
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.icewm/theme")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme="(.+)\/.*.theme/ ) {
          while( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }   
      close(FILE);
    }   
    case "PekWM" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.pekwm/config")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme.*\/(.*)"/ ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE); 
    } 
  }   
}     
      
## Find Theme Icon and Font ##
if ( $display =~ m/[Theme, Icons, Font, Background]/) {
  switch($DE) {
    case "Gnome" {
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      if ( $display =~ m/Theme/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/gtk_theme`;
        chomp ($gconf);
        print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
        push(@line, " GTK Theme:$textcolor $gconf");
      }
      if ( $display =~ m/Icons/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/icon_theme`;
        chomp ($gconf);
        push(@line, " Icons:$textcolor $gconf");
      } 
      if ( $display =~ m/Font/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/font_name`;
        chomp ($gconf);
        push(@line, " Font:$textcolor $gconf");
      }
      if ( $display =~ m/Background/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/background/picture_filename`;
        chomp ($gconf);
        my $bname = basename($gconf);
        push(@line, " Background:$textcolor $bname");
      }

    } 
    case "Xfce4" {
      my @sort = ();
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/gtk.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if ( $display =~ m/Theme/ ) {
          if (/<option name="Net\/ThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
            unshift(@sort, " GTK Theme:$textcolor $1");
          } 
        }
        if ( $display =~ m/Icons/ ) {
          if (/<option name="Net\/IconThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            unshift(@sort, " Icons:$textcolor $1");
          }
        }
        if ( $display =~ m/Font/ ) {
          if ( /<option name="Gtk\/FontName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Font found as $1\n" unless $quite == 1;
            unshift(@sort, " Font:$textcolor $1");
          } 
        }
      }
      close(FILE);
      ## Sort variables so they're ordered "Theme Icon Font" ##
      foreach my $i (@sort) {
        push(@line, "$i");
      }
    } 
    case "Xfce4.6" {
      my @sort = ();
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
        if ( $display =~ m/Theme/ ) {
        my $xfconf = `xfconf-query -c xsettings -p /Net/ThemeName`;
        chomp($xfconf);
            push(@line, " GTK Theme:$textcolor $xfconf");
        }
        if ( $display =~ m/Icons/ ) {
        my $xfconf = `xfconf-query -c xsettings -p /Net/IconThemeName`;
        chomp($xfconf);
            push(@line, " Icons:$textcolor $xfconf");
        }
        if ( $display =~ m/Font/ ) {
        my $xfconf = `xfconf-query -c xsettings -p /Gtk/FontName`;
        chomp($xfconf);
            push(@line, " Font:$textcolor $xfconf");
        }
      if ( $display =~ m/Background/ ) {
        my $xfconf = `xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path`;
        chomp($xfconf);
        my $bname = basename($xfconf);
            push(@line, " Background:$textcolor $bname");
      }
    } 
    case "KDE" { 
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kdeglobals")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) { 
        if ( $display =~ m/Theme/ ) {
          if ( /widgetStyle=(.+)/  ) {
            print "\::$textcolor Wiget Style found as $1\n" unless $quite == 1;
            push(@line, " Wiget Style:$textcolor $1");
          }
          if (/colorScheme=(.+).kcsrc/ ) {
            print "\::$textcolor Color Scheme found as $1\n" unless $quite == 1;
            push(@line, " Color Scheme:$textcolor $1");
          }
        }
        if ( $display =~ m/Icons/ ) {
          if ( /Theme=(.+)/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            push(@line, " Icons:$textcolor $1");
          } 
        }   
        if ( $display =~ m/Font/ ) {
          if ( /font=(.+)/ ) {
            my $font = (split/,/, $1)[0];
            print "\::$textcolor Font found as $font\n" unless $quite == 1;
            push(@line, " Font:$textcolor $font");
          }
        }
      }
      close(FILE);
  
    }
    else {
      my @files = ("$ENV{HOME}/.gtkrc-2.0", "$ENV{HOME}/.gtkrc.mine",);
      foreach my $file (@files) {
        if ( -e $file ) {
          print "\::$textcolor Opening $file\n" unless $quite == 1; 
          open(FILE, $file)
          || die "\e[0;31m<Failed>\n";
          while( <FILE> ) {
            if ( $display =~ m/Theme/ ) {
              if( /include ".*themes\/(.+)\/gtk-(1|2)\.0\/gtkrc"/ ){
                print "\::$textcolor GTK theme found as $1\n" unless $quite == 1;
                push(@line, " GTK Theme:$textcolor $1");
              }
            }
            if ( $display =~ m/Icons/ ) {
              if( /.*gtk-icon-theme-name.*"(.+)"/ ) {
                print "\::$textcolor Icons found as $1\n" unless $quite == 1;
                push(@line, " Icons:$textcolor $1");
              }
            }
            if ( $display =~ m/Font/ ) {
              if( /.*gtk-font-name.*"(.+)"/ ) {
                print "\::$textcolor Font found as $1\n" unless $quite == 1;
                push(@line, " Font:$textcolor $1");
             }
            }
          }
          close(FILE);
        }
      }
    }
  }
}

## Display the system info ##

if ( $distro =~ m/Archlinux/ ) {

## Get Archlinux version ##
if ( $display =~ "OS"){
  print "\::$textcolor Finding Archlinux version\n" unless $quite == 1;
  my $version = $myArchVersion;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

my $c1 = "\e[1;36m";
my $c2 = "\e[0;36m";

system("clear");

print "
${c1}                   -`                   
${c1}                  .o+`                  
${c1}                 `ooo/                  
${c1}                `+oooo:                 
${c1}               `+oooooo:
${c1}               -+oooooo+:
${c1}             `/:-:++oooo+:                       $c1@line[0]
${c1}            `/++++/+++++++:                      $c1@line[1]
${c1}           `/++++++++++++++:                     $c1@line[2]
${c1}          `/+++${c2}ooooooooooooo/`                   $c1@line[3]
${c2}         ./ooosssso++osssssso+`                  $c1@line[4]
${c2}        .oossssso-````/ossssss+`                 $c1@line[5]
${c2}       -osssssso.      :ssssssso.                $c1@line[6]
${c2}      :osssssss/        osssso+++.               $c1@line[7]
${c2}     /ossssssss/        +ssssooo/-               $c1@line[8]
${c2}   `/ossssso+/:-        -:/+osssso+-    
${c2}  `+sso+:-`                 `.-/+oso:   
${c2} `++:.                           `-/+/  
${c2} .`                                  ``
${c2} 
\e[0m";
}

system("scrot -d 1");

sleep 20
EDIT : C'est un vieux script qui trainait sur le disque, a priori il n'est plus fonctionnel.
+ 1 pour FoolEcho
Dernière modification par CyDes le sam. 24 sept. 2011, 13:58, modifié 1 fois.
Quand vous avez tout essayé, lisez le mode d'emploi...
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [bashrc] publiez vos .bashrc

Message par FoolEcho »

@adama88: Tu peux également rajouter dans ton ~/.bashrc screenfetch (bash) ou archey (python2)/archey3 (python3), et sans doute d'autres encore. :chinois:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
adama88
Hankyu
Messages : 20
Inscription : mer. 19 janv. 2011, 15:20
Localisation : Pithiviers

Re: [bashrc] publiez vos .bashrc

Message par adama88 »

@CyDes @FoolEcho : Merci à tous les deux je vais me débrouiller avec cela. J'ai essayé archey3 et il me plait bien.
Archlinux KDE Plasma 5 64 bits.
Avatar de l’utilisateur
Fork Bomb
Daikyu
Messages : 99
Inscription : dim. 29 mai 2011, 15:29
Localisation : Error 404, not found !

Re: [bashrc] publiez vos .bashrc

Message par Fork Bomb »

Code : Tout sélectionner

#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
#PS1='[\u@\h \W]\$ '
# ------------------------------------------------------------------------------------------------------------------------------------
# Prompt personnalise a partir d'ici
# Couleurs
ANTHRACITE='\e[0;30m'
ROUGE='\e[0;31m'
VERT='\e[0;32m'
JAUNE='\e[0;33m'
BLEU='\e[0;34m'
MAUVE='\e[0;35m'
BLEU_CLAIR='\e[0;36m'
GRIS='\e[0;37m'
GRIS_CLAIR='\e[0;38m'
BLANC='\e[0;39m'
# -----------------------------------------------------------------
FERMETURE='\e[0m'

HOST=$(hostname)
#THIS_DIRECTORY=$(basename $(pwd))
THIS_DIRECTORY=\\W
UTILISATEUR=$(whoami)


if [ ${EUID} == 0 ]
then
	export PS1="[\[$ROUGE\]${UTILISATEUR}\[$FERMETURE\]@\[$BLEU\]${HOST}\[$FERMETURE\] : \[$BLEU_CLAIR\]${THIS_DIRECTORY}\[$FERMETURE\]]# "
else
	export PS1="[\[$VERT\]${UTILISATEUR}\[$FERMETURE\]@\[$BLEU\]${HOST}\[$FERMETURE\] : \[$BLEU_CLAIR\]${THIS_DIRECTORY}\[$FERMETURE\]]$ "
fi
Bépo,TypeMatrix, what best ?
---
« Je ne considère pas les femmes comme des objets, je pense qu'elles ont chacune leur propre classe. »
---
Being an adult is quite easy. Earn your own money and forget all your child's dreams.
Okkusenman ! Okkusenman !
JeremTheCowBoy
Hankyu
Messages : 44
Inscription : lun. 23 avr. 2012, 21:00
Localisation : Nancy

Re: [bashrc] publiez vos .bashrc

Message par JeremTheCowBoy »

Je sais par avance que je vais me faire linché...mais comment faites vous pour insérer dans une fenetre indépendante une sorte d'imprimme ecran de votre terminal ?

merci pour votre réponse et désolé du dérangement :mrgreen:
Répondre