#76 Le 05/01/2009, à 10:13
- penkoad
Re : Partagez vos alias et function (fichier .bashrc)
Salut alicia63,
Ca dépend où sont déclarés tes alias, cron ne source pas ton .bashrc à part si tu demandes explicitement de le faire genre une commande du type
/bin/bash /chemin/vers/mon/script > /dev/null
Soit tu déclares le chargement dans ton .profile (sourcé en cas de connexion non-interactive). Comme dans l'exemple suivant.
Contenu de $USER/.profile
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
Ceci fait en sorte que les tâches cron qui ne s'executent pas dans un terminal chargent quand même le .bashrc s'il existe donc tes alias leur sont accessibles.
Ceci dit, ce n'est pas un bonne idée en terme de réutilisation. Un script ne devrait jamais n'appuyer sur l'environnement d'un utilisateur particulier pour fonctionner mais bon ceci est surtout valable dans un cadre multi-utilisateur ou professionnel ce qui n'est peut être pas ton cas...
"Always do sober what you said you'd do drunk. That will teach you to keep your mouth shut."
Ernest Hemingway
Hors ligne
#77 Le 06/01/2009, à 00:13
- Shrat
Re : Partagez vos alias et function (fichier .bashrc)
Mon .zshrc :
#Taille de l'historique
HISTFILE=~/.histfile
HISTSIZE=3000
SAVEHIST=3000
setopt hist_ignore_all_dups
setopt APPEND_HISTORY
fortune | cowsay -f $(/bin/ls /usr/share/cowsay/cows -1 | head -n $(expr $$$(date +%s) % $(ls /usr/share/cowsay/cows | wc -w) + 1) | tail -n 1)
#Complétion
autoload -U compinit
compinit
autoload -U zsh-mime-setup
autoload -U zsh-mime-handler
zsh-mime-setup
autoload -U zfinit
zfinit
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin/bin/usr/X11R6/bin
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh_cache
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BDésolé, pas de réultat pour : %d%b'
zstyle ':completion:*' menu select=2
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:kill:*' force-list always
zmodload -i zsh/complist
setopt extendedglob
zstyle ':completion:*' list-colors ''
compctl -g '*.pdf' + -g '*(-/)' evince xpdf acroread
#Correction automatique des commandes
setopt correctall
setopt autocd
#Prompt personnel
autoload colors
colors
PROMPT="${bg_bold[blue]}${fg_bold[cyan]}%}(${bg_bold[blue]}${fg_bold[white]}%}%~%{${bg_no_bold[blue]}${fg_no_bold[white]}%} sur %{${bg[blue]}${fg[white]}%}%n@%M${bg_bold[blue]}${fg_bold[cyan]}%})--(%{${bg_no_bold[blue]}${fg_no_bold[white]}%}%l${bg_bold[blue]}${fg_bold[cyan]}%})--(%{${bg_no_bold[blue]}${fg_no_bold[white]}%}Dernier prompt : %{${bg[blue]}${fg[white]}%}%?${bg_bold[blue]}${fg_bold[cyan]}%})%E
%{${bg_no_bold[default]}${fg_no_bold[red]}%}%# >%{${bg_no_bold[default]}${fg_no_bold[default]}%}"
RPROMPT="%{${bg_bold[red]}${fg_bold[black]}%}[%{${bg_no_bold[red]}${fg_no_bold[black]}%}commande %{${bg_bold[red]}${fg_bold[black]}%}%!%{${bg_no_bold[red]}${fg_no_bold[black]}%} à %*%{${bg_bold[red]}${fg_bold[black]}%}]%E%{${bg_no_bold[default]}${fg_no_bold[default]}%}"
#alias
alias grosfichiers='du -sk $(/bin/ls -A) | sort -rn | head -10'
trad() {curl -s dict://dict.org/d:$* | most}
dict() {curl -G -d requete=$* http://francois.gannaz.free.fr/Littre/xmlittre.php | w3m -T text/html -dump | tail -n +15 | most}
ldpp() {latex $*.tex && dvips $*.dvi && ps2pdf $*.ps}
alias cal='var=$(/usr/bin/cal -m); echo "${var/$(date +%-d)/$(echo -e "\033[1;31m$(date +%-d)\033[0m")}"'
alias cdanslair="python /home/michael/Applis/cdanslair/cdanslair.py"
alias ripostes="python /home/michael/Applis/ripostes/ripostes.py"
alias radioclassique="mplayer -cache 3000 http://www.tv-radio.com/station/classique-mp3/classique-mp3-128k.pls"
alias franceculture="mplayer -cache 3000 http://viphttp.yacast.net/V4/radiofrance/franceculture_bd.m3u"
alias franceinfo="mplayer -cache 3000 http://viphttp.yacast.net/V4/radiofrance/franceinfo_bd.m3u"
alias fip="mplayer -cache 3000 http://viphttp.yacast.net/V4/radiofrance/fip_bd.m3u"
alias cdmount="mount /dev/cdrom3 && mpc update"
alias freeboxtv="vlc --m3u-extvlcopt --open http://mafreebox.freebox.fr/freeboxtv/playlist.m3u"
alias ll.='ls -li -A -h --ignore=^"[^\.]"'
alias ls='ls --color=auto'
alias ll='ls -lh --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias llm='ls -lh | most --color=auto'
alias scpbea='/home/michael/Conf\ Linux/Scripts/scpbea.sh'
alias edt="evince ~/Etudes/L2/Administration/youpi.pdf"
alias steam="wine 'c:\program files\steam\steam.exe'"
alias -s tex=vim
alias -s html=w3m
alias -s pdf=epdfview
#grep en couleurs
export GREP_COLOR=31
alias grep='grep --color=auto'
#Utilisons un éditeur de texte potable.
[ -x /usr/bin/most ] && export PAGER=most
EDITOR=/usr/bin/vim
#Raccourcis
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\eOc" emacs-forward-word
bindkey "\e[5D" backward-word
bindkey "\eOd" emacs-backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word
bindkey "^H" backward-delete-word
#for rxvt
bindkey "\e[8~" end-of-line
bindkey "\e[7~" beginning-of-line
# completion in the middle of a line
bindkey '^i' expand-or-complete-prefix
Je ne sais pas si cela fonctionne avec bash mais il y a surement de quoi s'inspirer.
Hors ligne
#78 Le 06/01/2009, à 00:21
- Кຼزດ
Re : Partagez vos alias et function (fichier .bashrc)
très intéressant cet topic, , les alias me font déja gagner pas mal de temps, mais j'ai rien de nouveau à ajouter
edit : par contre quelqu'un connaitrait un moyen d'utiliser l'auto-complétion après un alias ?
Dernière modification par mathieuI (Le 06/01/2009, à 00:23)
dou
Hors ligne
#79 Le 07/01/2009, à 18:53
- ferreol
Re : Partagez vos alias et function (fichier .bashrc)
moi je l ai l autocompletion pour les alias
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
vers la fin du fichier .bashrc
Hors ligne
#80 Le 07/01/2009, à 19:00
- Кຼزດ
Re : Partagez vos alias et function (fichier .bashrc)
je l'ai aussi celui là . non , je parlais , par exemple dans le cas de
alias ins='sudo apt-get install'
si je tape
ins cairo-[tab]*2
il y a rien qui vient
dou
Hors ligne
#81 Le 08/01/2009, à 00:25
- Shrat
Re : Partagez vos alias et function (fichier .bashrc)
euh je ne sais pas si bash le fait mais avec mon zsh la completion est top sur apt-get.
Hors ligne
#82 Le 18/01/2009, à 01:27
- Shrat
Re : Partagez vos alias et function (fichier .bashrc)
J'ai trouvé un truc absolument génial pour zsh :
preexec () {print -Pn "\e]0;%/ %# $1\a"}
A mettre dans le .zshrc. Je vous laisse découvrir ce que ça donne.
Hors ligne
#83 Le 27/01/2009, à 14:24
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
Mon mien !
Attention, il nécessite cowsay !
#Liste d'alias
alias arret='sudo halt'
alias boot='sudo reboot'
alias maj='sudo aptitude update && sudo aptitude safe-upgrade'
alias rm='rm -Rf'
alias menage='sudo aptitude purge '~c' && sudo aptitude autoclean && deborphan'
alias chef='sudo -i'
alias heure='date +%X'
alias flag='echo -e "\t ======== \t ========" && date +%t%t%%%X%% && echo -e "\t ======== \t ========"'
alias fin='maj && arret'
alias ll='ls -l'
alias jour='echo Nous sommes le `date +"%A %e %B %Y"`, et il est `date +"%H"` h `date +"%M"` | cowsay -f $(/bin/ls /usr/share/cowsay/cows -1 | head -n $(expr $$$(date +%s) % $(ls /usr/share/cowsay/cows | wc -w) + 1) | tail -n 1)'
alias fonction='cat .bash_aliases|egrep "function"|grep -v "^alias"'
alias tout_fait='rm ~/.faire && echo "|/!\|" >> ~/.faire'
alias faire='cat ~/.faire | cowthink -f $(/bin/ls /usr/share/cowsay/cows -1 | head -n $(expr $$$(date +%s) % $(ls /usr/share/cowsay/cows | wc -w) + 1) | tail -n 1) -W 100'
function mkcd () #Crée un dossier avec le nom passé en paramétre et va dedans
{
mkdir $1 && cd $1
}
function bak () #Crée une sauvegarde du fichier passé en paramètre, en rajoutant l'heure et la date
{
cp $1 $1_`date +%H:%M:%S_%d-%m-%Y`
}
function cpbak () #Idem, mais la copie est dans le dossier Sauvegarde
{
cp $1 ~/Sauvegarde/$1_`date +%H:%M:%S_%d-%m-%Y`
}
function tarer () #Crée une archive .tar.gz
{
case $# in
0)
penser "Il me manque des paramètres !" ;;
*)
tar -cvzf "$1.tar.gz" $@ ;;
esac
}
function detarer () #Extrait le contenu de l'archive donnée en paramétre
{
# if [ $# == 1] then
# penser "Il me demande de dézipper quoi ?";
# else
tar -xvvzf $1
}
function a_faire () #ajoute la tâche passée en paramètre au fichier
{
echo "$1 |/!\|" >> ~/.faire
}
function penser () #Affichage rigolo des messages d'erreurs
{
echo $1 | cowthink -f $(/bin/ls /usr/share/cowsay/cows -1 | head -n $(expr $$$(date +%s) % $(ls /usr/share/cowsay/cows | wc -w) + 1) | tail -n 1)
}
J'ai faim !
Hors ligne
#84 Le 27/01/2009, à 15:13
- Luc Hermitte
Re : Partagez vos alias et function (fichier .bashrc)
Il y a bien longtemps j'avais découvert que, sous bash, on pouvait empiler des répertoires et s'y balader grâce à pushd et dirs qui remplacent avantageusement cd /tres/long/chemin/penible/a/taper, cd -, cd encore/un/autre/chemin.
Donc voici une petite décoration qui rend le résultat de dirs plus lisible, et rappelle où l'on en est après chaque pushd (aliasé en p, p2, p3, ...p9)
Le if 0 permet de sélectionner gawk ou perl selon les outils installés à coté de bash.
### Directory pushing
# Shortcuts + better presentation of the directories pushed.
## Display the directories pushed
if [ 0 == 1 ] ; then
# Si gawk
d() { \dirs | gawk '{gsub(/ ~/, "!~"); gsub(/ \//, "!/") ; n=split($0,arr,"!") ; for (i=1;i<=n;++i) print (i-1)" -> "arr[i] }'
}
else
# Si pas gawk
# d() { \dirs | sed 's# \([/.~]\)#
\1#g' |grep -n . | sed 's#:#-> #'
# d() { \dirs | perl -pe "s# ([/.~])#\n\1#g" |grep -n . | sed 's#:# -> #'
# d() { \dirs | perl -e '@t=<> ; @s = map ( { split(" ",$_) } @t) ; for ($n=0 ; $s[$n] ; ++$n) { print "$n --> " ; print "\033[00;34;34m" if ($n==0) ; print "$s[$n]\n" ; print "\033[01;00;0m" if ($n==0)}'
d() { \dirs | perl -e '@t=<> ; @s = map ( { split(" (?=[/~]+)",$_) } @t) ; for ($n=0 ; $s[$n] ; ++$n) { print "$n --> " ; print "\033[00;34;34m" if ($n==0) ; print "$s[$n]\n" ; print "\033[01;00;0m" if ($n==0)}'
}
fi
alias dirs=d
# Note: We can not directly write «dirs() { \dirs | ... }» as it would
# end in an infinite loop. Hence the declaration of «d(){}» and dirs as
# an alias for d.
## Push a directory
p() {
if [ -z "$*" ] ; then
# If no parameter, we do not want to push the current directory
\pushd > /dev/null
else
# The quotes in «"$*» permit to write «p $vim»
\pushd "$*" > /dev/null
fi
# List the directories pushed
d
}
## Move to a pushed directory
alias p1="p +1"
alias p2="p +2"
alias p3="p +3"
alias p4="p +4"
alias p5="p +5"
alias p6="p +6"
alias p7="p +7"
alias p8="p +8"
alias p9="p +9"
## Pop a directory
# Same workaround than «d()» and «dirs»
popd_int() { \popd $* > /dev/null ; d
}
alias popd=popd_int
Hors ligne
#85 Le 29/01/2009, à 17:20
- fred-lyon
Re : Partagez vos alias et function (fichier .bashrc)
Parmi ceux que j'ai fait, j'aime bien ça, mais c'est basique :
# Convertir un fichier texte de pc à mac : je tape conv fichier
conv () { iconv -f L1 -t MACROMAN ${1} > bidonfile ; mv -f bidonfile ${1} ; }
# Chercher le numero de telephone de bidule dans mon fichier d'adresse : je tape 'tel bidule' (ou 'tel bid')
tel () { more +/"$1" ~/adresses.tex ; }
# Convertir en small tout un repertoire de jpg ; je tape tmog dans le repertoire et ça met tout dans le rep Small
alias tmog='mkdir Small ; mogrify -format jpg -path Small -resize 600x600 -qual
ity 75 -bordercolor white -border 15 *.jpg *.JPG'
#86 Le 29/01/2009, à 18:05
- Seth_
Re : Partagez vos alias et function (fichier .bashrc)
Petit ajout, deux fonctions de mise en forme centrer et aligne a droite le texte :
function alignc {
local OPT
local W=$COLUMNS
getopts n: OPT
[ $OPT ] && [ $OPT = "n" ] && W=$OPTARG
shift $[$OPTIND-1]
if [ $# -eq 0 ]
then
echo "Usage: $0 [-n N] STRING"
return 1
else
local L=$(expr length "$*")
printf "%$[($W+$L)/2]s\n" "$*"
fi
}
function alignr {
local OPT
local W=$COLUMNS
getopts n: OPT
[ $OPT ] && [ $OPT = "n" ] && W=$OPTARG
shift $[$OPTIND-1]
if [ $# -eq 0 ]
then
echo "Usage: $0 [-n N] STRING"
return 1
else
printf "%${W}s\n" "$*"
fi
}
Hors ligne
#87 Le 30/01/2009, à 21:21
- ferreol
Re : Partagez vos alias et function (fichier .bashrc)
function rip {
mencoder -profile rip -o "$1".avi dvd://
}
Une petite question pour l alias ci dessous faut il rentrer cela tel quel dans .bash_aliases
Parce ce que j ai l habitude de commencer un alias par:
alias rip='mencoder è profile rip -o ....
Peut on confirmer?
Dernière modification par ferreol (Le 30/01/2009, à 21:23)
Hors ligne
#88 Le 30/01/2009, à 21:26
- Luc Hermitte
Re : Partagez vos alias et function (fichier .bashrc)
Il définit ici une fonction. Et d'un point de vue utilisateur, il n'y a pas grande différence avec les alias -- au détail que le backslash est sans effet. Côté développement, nous avons accès à plus de choses avec les fonctions.
Dernière modification par Luc Hermitte (Le 30/01/2009, à 21:26)
Hors ligne
#89 Le 30/01/2009, à 23:11
- ferreol
Re : Partagez vos alias et function (fichier .bashrc)
comment fait on pour creer une fonction? il y a t il un *.sh a creer ?
Cela m interresse
Hors ligne
#90 Le 30/01/2009, à 23:18
- Luc Hermitte
Re : Partagez vos alias et function (fichier .bashrc)
Les fonctions définies dans un script sont accessibles depuis le script en question comme s'il s'agissait de commandes/scripts. Les paramètres sont les ${nombre}, cela lit sur stdin, balance sur stdout, et c'est capable de renvoyer une valeur (IIRC -- je n'en fais pas tous les jours)
Pour charger la fonction dans le shell pour ensuite s'en servir, il suffit de sourcer le script où elle est définie. Depuis le .bashrc (si sous bash), c'est automatiquement sourcé.
Hors ligne
#91 Le 17/02/2009, à 17:50
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
Bien le bonjour à toi, ami lecteur !!
Je cherche le moyen de modifier mon prompt au lancement d'un terminal, et ce de manière aléatoire.
J'ai pensé utilisé date +%N pour obtenir les nanosecondes, et un coup de modulo 10, pour obtenir un entier compris entre 0 et 9.
Mais ça ne fonctionne pas ! Est-ce que parce que le modulo 10 (%10) n'est pas connu dans le bash, ou parce que date renvoie un string, et il me manque une étape de conversion...
Si quelqu'un voit mon erreur, je suis preneur !
J'ai faim !
Hors ligne
#92 Le 17/02/2009, à 18:33
- penkoad
Re : Partagez vos alias et function (fichier .bashrc)
Salut Shalafi Xavier,
Je suis pas sur de bien suivre ce que tu dis vu que tu ne postes pas d'exemple mais ce bout de vode fonctionne chez moi sous bash.
d=$[ ( $RANDOM % 10 ) + 1 ] && echo $d
"Always do sober what you said you'd do drunk. That will teach you to keep your mouth shut."
Ernest Hemingway
Hors ligne
#93 Le 17/02/2009, à 18:59
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
@Penkoad
Il est vrai qu'un exemple aurait été plus pratique !
J'avais ça :
function couleur () #Colorisation du prompt en fonction du paramètre
{
case $1 in
#Prompt complet
1) PS1="${rouge}\u${cyan}@${magenta}\h${VERT}:\w$\[\033[0m\] ";;
#Prompt avec uniquement le répertoire courant
2) PS1="${VERT}\u${magenta}@${vert}\h${magenta}:${jaune}\W$\[\033[0m\] ";;
#Path complet
3) PS1="${magenta}\w$\[\033[0m\] ";;
#Répertoire complet
4) PS1="${magenta}\W$\[\033[0m\] ";;
5) PS1="${ROUGE}\u${VERT}@${MAGENTA}\h${ROUGE}:\w$\[\033[0m\] ";;
6) PS1="${ROUGE}\u${VERT}@${MAGENTA}\h${ROUGE}:\W$\[\033[0m\] ";;
#Prompt normal
*) PS1="${vide}\u@\h:\w$\[\033[0m\] ";;
esac
}
Et je voulais mettre une invite aléatoire.
Maintenant, il me reste juste à tester un :
PS1=couleur ($[ ( $RANDOM % 10 ) + 1 ])
Merci beaucoup dans tous les cas !
[EDIT]Bon, ça marche pas ![/EDIT]
Dernière modification par Shalafi Xavier (Le 18/02/2009, à 11:46)
J'ai faim !
Hors ligne
#94 Le 19/02/2009, à 13:39
- sensini
Re : Partagez vos alias et function (fichier .bashrc)
Salut Shalafi Xavier,
j'ai pas testé du tout, mais, mettons que random%+1 renvoie 4
couleur(4) met ta variable PS1 à magenta, et le retour de la fonction couleur ..... est affecté à PS1
Essaie donc d'enlever le PS1= couleur(...) pour juste mettre couleur(...)
C'est un début de piste, pas garantie qu'après ça ça marche hein ;]
http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)
Hors ligne
#95 Le 20/02/2009, à 12:18
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
Je crois avoir localisé le problème.
La définition des invites de couleur (la fonction couleur) est définie dans mon bash_aliase.
Quand mon terminal se lance, le bashrc ne fait pas de lien avec les éventuelles fonctions déclarées dans mon bash_aliases !
Je vais donc mettre cette fonction dans le bashrc et tester à nouveau !
Dans tous les cas, merci à Sensini et à Penkoad.
J'ai faim !
Hors ligne
#96 Le 24/02/2009, à 16:19
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
C'est bon, j'ai trouvé :
#Invite en couleurs
#Définition des couleurs
#Le deuxième chiffre correspond au fond
noir="\[\e[0;30m\]"
rouge="\[\e[0;31m\]"
vert="\[\e[0;32m\]"
jaune="\[\e[0;33m\]"
bleu="\[\e[0;34m\]"
magenta="\[\e[0;35m\]"
cyan="\[\e[0;36m\]"
blanc="\[\e[0;37m\]"
NOIR="\[\e[1;30m\]"
ROUGE="\[\e[1;31m\]"
VERT="\[\e[1;32m\]"
JAUNE="\[\e[1;33m\]"
BLEU="\[\e[1;34m\]"
MAGENTA="\[\e[1;35m\]"
CYAN="\[\e[1;36m\]"
case $[ ( $RANDOM % 10) ] in
#Prompt complet
1) PS1="${rouge}\u${cyan}@${magenta}\h${VERT}:\w$\[\033[0m\] ";;
#Prompt avec uniquement le répertoire courant
2) PS1="${VERT}\u${magenta}@${vert}\h${magenta}:${jaune}\W$\[\033[0m\] ";;
#Path complet
3) PS1="${magenta}\w$\[\033[0m\] ";;
#Répertoire complet
4) PS1="${magenta}\W$\[\033[0m\] ";;
5) PS1="${ROUGE}\u${VERT}@${MAGENTA}\h${ROUGE}:\w$\[\033[0m\] ";;
6) PS1="${ROUGE}\u${VERT}@${MAGENTA}\h${ROUGE}:\W$\[\033[0m\] ";;
#Prompt normal
*) PS1="${vide}\u@\h:\w$\[\033[0m\] ";;
esac
Lancement du prompt, il calcule et change la couleur directement, j'ai pas de problème de fonction !
J'ai faim !
Hors ligne
#97 Le 25/02/2009, à 15:10
- sensini
Re : Partagez vos alias et function (fichier .bashrc)
Félicitations!!
via http://planet.fedora-fr.org et donc http://fedora-tunisia.org/?q=node/57 j'ai trouvé le site http://www.commandlinefu.com/
il est plein de commandes utiles et donc source d'alias
http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)
Hors ligne
#98 Le 27/04/2009, à 19:01
- msg_dracula
Re : Partagez vos alias et function (fichier .bashrc)
Personnellement pour les alias d'installation et de suppression j'ai fait deux fonctions
function ins(){
sudo apt-get update
sudo apt-get install $1
sudo apt-get clean
}
function rem(){
sudo apt-get remove --purge $1
sudo apt-get autoremove
}
alias ins='ins'
alias rem='rem'
Apprend de tes propres erreurs.
StaticGen : Vous ne bloguerez plus jamais comme avant
Hors ligne
#99 Le 28/04/2009, à 09:39
- yotsumi
Re : Partagez vos alias et function (fichier .bashrc)
En voici une petite que je viens de créer :
# Affiche des informations sur l'état de la batterie ( % charge, utilisation en cours )
function batterie() {
var1=$(cat '/proc/acpi/battery/BAT0/state' | grep 'remaining capacity' | grep -Eo "[0-9]+") # Puissance restante
var2=$(cat '/proc/acpi/battery/BAT0/info' | grep 'last full capacity:' | grep -Eo "[0-9]+") # Puissance totale
var3=$(cat /proc/acpi/battery/BAT0/state | grep 'present voltage' | grep -Eo "[0-9]+") # Utilisation en cours
var4=$(echo "(100*$var1)/$var2"|bc)
echo -e "$ROUGE" $var4 "%" "$NORMAL" " " $var1 "/" $var2 " mAh (" $var3 mv")"
}
>> 100 % 7350 / 7350 mAh ( 12529 mv)
J'utilise les codes couleurs déposés un peu plus haut dans ce stop
Edit : Je viens de voir que ça ne fonctionne pas très bien lorsque la batterie est branchée.
En effet, 'Remaining capacity' affiche dans ce cas la capacité d'origine de votre batterie, alors que le maximum réel, donné par 'last full capacity', est inférieur.
=> Si vous voulez des donnez exacte, faites un petit if sur state/ "charging state:"
Dernière modification par yotsumi (Le 28/04/2009, à 15:21)
Hors ligne
#100 Le 03/05/2009, à 17:18
- Matt Trudel
Re : Partagez vos alias et function (fichier .bashrc)
De mon côté, un bout de code très simple mais qui m'évite de retapper "ls" suivi de "cd"... Vu que généralement, c'est la première commande que je tappe après avoir changé de répertoire:
_custom_cd ()
{
cd $@ && ls --color
}
alias cd="_custom_cd"