personnalisation de ses commandes console
Publié : 04 nov 2015, 17:34
Personnalisation extrême de ses commandes console
Nous connaissons les alias et c'est généralement pas trop mal. Mais il est aussi possible de faire beaucoup plus : personnaliser les commandes existantes !
Tout simplement en changeant ou créant de nouvelles options à celles existantes. En d'autres termes on place l'alias à l'intérieur de la commande
Attention ceci peux être dangereux si l'on ne sait pas trop ce que l'on fait
Puisque nous sommes sous Manjaro, je pense en premier lieu à "pacman", ajouter une option "-maj" ou une commande "maj" et cerise sur le gâteau plus de sudo à taper :
il suffit de créer un alias "pacman" qui va pointer vers notre propre fonction "_pacman"
code à placer dans votre
Et il est possible de l'étendre à l'infini ( ), par exemple, on ajoute "info" , "lister" et "éxécutable ":
note:
et avec l'option
ps: case is better than elseif
------------------------------------------------
personnellement je n'ajoute pas ce code à .bashrc mais un autre fichier ~/.config/bash.plugins et ajoute uniquement une ligne dans mon
------------------------------------------------
cadeau, un 2ème "plugin" qui ne sert à rien mais qui nous montre qu'il est aussi possible d'agrémenter la sortie standard avec un réaménagement et de la couleur.
------------------------------------------------
il ne reste plus que journalctl à faire ... vous avez la recette, maintenant c'est une question d'imagination
Nous connaissons les alias et c'est généralement pas trop mal. Mais il est aussi possible de faire beaucoup plus : personnaliser les commandes existantes !
Tout simplement en changeant ou créant de nouvelles options à celles existantes. En d'autres termes on place l'alias à l'intérieur de la commande
Attention ceci peux être dangereux si l'on ne sait pas trop ce que l'on fait
Puisque nous sommes sous Manjaro, je pense en premier lieu à "pacman", ajouter une option "-maj" ou une commande "maj" et cerise sur le gâteau plus de sudo à taper :
pacman --maj
pacman maj
il suffit de créer un alias "pacman" qui va pointer vers notre propre fonction "_pacman"
function _pacman(){
if [[ "$1" == "maj" || "$1" == "-maj" || "$1" == "upgrade" ]]; then
(($EUID != 0)) && csudo='sudo' || csudo=''
$csudo /usr/bin/pacman -Syu
else
/usr/bin/pacman $@
fi
}
alias pacman="_pacman"
code à placer dans votre
~/.bashrc
(ou ~.zshrc)Et il est possible de l'étendre à l'infini ( ), par exemple, on ajoute "info" , "lister" et "éxécutable ":
function _pacman(){
if [[ "$1" =~ maj$ || "$1" == "upgrade" ]]; then
(($EUID != 0)) && csudo='sudo' || csudo=''
echo "Mise à jour de ma distribution"
$csudo /usr/bin/pacman -Syu || yaourt -Sua
elif [[ "$1" == "-aur" ]]; then
yaourt -Syua && yaourt -Sua --devel
elif [[ "$1" == "-info" ]]; then
/usr/bin/pacman -Qi "$2"
elif [[ "$1" == "-lister" ]]; then
echo "liste des fichiers dans le paquet $2"
/usr/bin/pacman -Ql "$2"
elif [[ "$1" == "-éxécutable" ]]; then
echo "liste des exécutables (sans 2é) présents dans ce paquet"
/usr/bin/pacman -Ql "$2" | grep -v "/$" | grep "/usr/bin/"
else
/usr/bin/pacman $@
if [[ "$1" == "-h" ]]; then
echo "-- options personnelles:"
echo -e "\t-aur : mise à jour des paquets aur"
echo -e "\t upgrade : mise à jour de la distribution"
echo -e "\t -éxécutable : rechercher les exécutables dans le paquet"
#echo -e "\t -papa : rechercher le paquet qui a installé ce fichier (-Qo)"
fi
fi
}
alias pacman="_pacman"
$1
c'est le premier paramètre passé à la commande et $2
c'est le second.et avec l'option
-h
nous avons même nos propres commandes/options ps: case is better than elseif
------------------------------------------------
personnellement je n'ajoute pas ce code à .bashrc mais un autre fichier ~/.config/bash.plugins et ajoute uniquement une ligne dans mon
~/.bashrc
(pour les alias aussi)[ -r ~/.config/bash.plugins ]] && source ~/.config/bash.plugins
[ -r ~/.config/bash.alias ]] && source ~/.config/bash.alias
------------------------------------------------
cadeau, un 2ème "plugin" qui ne sert à rien mais qui nous montre qu'il est aussi possible d'agrémenter la sortie standard avec un réaménagement et de la couleur.
function _alias(){
if [ -n "$1" ]; then
alias $@
else
alias | awk -F'=' '{print " \033[33m" $1 "\033[0m = " $2}'
fi
}
alias 'alias'="_alias"
------------------------------------------------
il ne reste plus que journalctl à faire ... vous avez la recette, maintenant c'est une question d'imagination