Votre shell et les alias

  • Si vous utilisez un shell Unix, il y a fort à parier que celui-ci supporte les alias.
  • Un alias est un raccourci pour une commande.
    • Par exemple, fusck pourrait être un alias pour rm -rf /. (ceci est un exemple. Ne faites pas ça chez vous, les enfants).


.bashrc et les alias

  • Bash ne déroge pas à la rêgle, en tant que shell le plus répandu.
  • Ce n'est pas le meilleur, mais c'est celui que j'utilise.
  • Jetons un coup d'oeil dans son fichier de configuration, .bashrc
export PS1='\w\$ '
alias ls="ls --color -hs"
export LESSCHARSET='latin1'


  • Il n'y a pas grand chose, mais je l'aime bien.
  • On remarque un alias sur ls
    • Cet alias est incorrect, et pourtant, je le traine depuis un bout de temps (depuis mes débuts sous Linux en fait.)


Que fait ls --color -hs

  • --color sert à coloriser la sortie (ça se paramètre, mais ce n'est pas le sujet ici).
  • -hs : size , human readable (la taille en octet est convertie dans une unité plus parlante).


Que fait la police ?!

  • La grosse erreur ici consiste dans les paramètres.
  • Vous allez me dire que c'est ennuyeux, vu qu'une commande aliasée sans paramètres, ça ne sert pas à grand chose.
  • Pour corriger:
    • --color=auto : va supprimer la coloration automatique si la commande passe à travers un pipe.
    • enlever le -hs qui perturbe aussi les pipes.


Testons

  • sans les modifications du .bashrc :
~$ ls / | head -1
total 56K


  • avec les modifications du .bashrc:
~$ ls / | head -1
bin


Et si on veut garder ses alias pourris ?

  • Deux solutions:
    • appeller la commande avec le path complet: /bin/ls
    • préfixer la commande avec un slash: \ls
  • Ces deux méthodes empêche l'aliasing par le shell.
    • Il vaut mieux cependant créer de nouvelles commandes pour les alias paramétrés.
    • Ex: alias lls='ls --lh'


La morale de cette histoire

  • La morale de cette histoire, c'est qu'il faut pas gonfler Gérald Lambert quand il aliase son shell.
    • C'est la morale de ce billet, moi j'la trouve chouette, pas vous ? Ah bon.
  • Sur ce: joyeux noel, paix dans le monde, et à l'année prochaine.