Des couleurs dans ton less
Le mardi 22 septembre 2015 par Benjamin BoudoirQuand j'ai besoin d'ouvrir un fichier que je ne modifie pas, j'aime bien less. Mais je fini souvent par ressortir emacs, parce que l'absence de coloration syntaxique est complexe sur certains documents (genre, XML le maudit).
Donc voici un petite manip bien sympatique... On commence par installer python-pygments (sous Debian et CentOS) pour récupérer pygmentize. Puis, on va se créer un fichier ~/.lessfilter :
#!/bin/sh
list=$(pygmentize -L | grep -Eo '\*\.[a-z0-9]*')
ext=$(echo "$1" | rev | cut -d'.' -f1 | rev)
echo "$list" | grep -q "^\*\.$ext\$"
if [ "$?" -eq 0 ]
then
pygmentize -f 256 "$1"
elif [ "$1" = .bashrc ] || \
[ "$1" = .bash_aliases ] || \
[ "$1" = .bash_environment ] || \
grep -q "#\!/bin/bash" "$1"
then
pygmentize -f 256 -l sh "$1"
else
exit 1
fi
exit 0
Qu'on rend exécutable.
Et ensuite on ajoute quelques lignes a son ~/.bashrc :
export LESS='-R'
export LESSOPEN='|~/.lessfilter %s'
Et tadam !
Je m'inspire totalement de cet article, j'ai un peu modifié le comportement du lessfilter pour que ce soit pygment qui me donne les extensions gérées et pas que je les rentre à la main.
Envoyer une fonction par ssh
Il peut être utile dans un script d'envoyer du code sur un serveur afin d'obtenir des informations.
On peut avoir un script sur la machine, envoyer un script sur la machine et l'exécuter ou, moins chiant, envoyer une fonction.
Pour celà, on code une petite fonction, comme dans n'importe quel …
Lire la suiteConnexion SSH sans mot de passe
Pour faire une connexion ssh sans mot de passe, la plupart des gens vous diront de simplement ne pas entrer de mot de passe. C'est une solution qui marche, mais qui est stupide dans 95% des cas (les 5% restants étant : ça sert pour des robots bien cachés et très …
Lire la suiteSortir les variables d'un while
Petit bashism pratique.
Lorsque que l'on fait une commande du style :
macommande | while read line
do
bidule=$(line | chouette)
done
On ne peut pas accéder à la variable $bidule.
Petit trick :
while read line
do
bidule=$(line | chouette)
done < <(macommande)
Et voilà !
L'explication est simple, avec un pipe, while fait …
Lire la suiteAstuce bash en cas de load du serveur
Il vous est probablement arrivé de devoir vous connecter sur un serveur en surcharge pour essayer de le sauver. Mais si comme moi vous avez un .bashrc assez conséquent, tuné, avec plein de fonctions pratiques… Il est probable que cela vous desserve en demandant à votre serveur de faire plein …
Lire la suite