Shell

ajout du support de readline_name dans sqlite

Tagged:  

un truc que je trouve enervant dans sqlite est qu'il ne propose pas de readline_name, il n'est alors pas possible de faire des ajouts conditionnels dans son .inputrc

du genre:

$if sqlite
$include sql_abbr
$endif

je viens d'envoyer ce patch pour src/shell.c sur la liste dev.

38a39,43                                                                                                                           
> void initialize_readline(void) {

Doper sa productivité avec Cowsay

Tagged:  

Cowsay est un utilitaire exceptionnel, qui permet de générer des messages à la manière d'un personnage de bande dessinée s'exprimant dans une bulle :

exemple :

$ cowsay hello
 _______
< hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||--WWW |
                ||     ||

Mais cowsay peut faire bien plus :

$ cowsay hello | ssh user@serveur "cat | wall"

N'est-ce pas une magnifique méthode de faire des annonces à ses utilisateurs en ajoutant une touche de bonne humeur ?

Contrôler le screen d'un utilisateur en tant que root

Tagged:  

Problème : Je suis root. Je veux contrôler le screen d'un utilisateur qui n'a pas explicitement autorisé le multiuser.

Nettoyer sa copie de travail

Tagged:  

Parfois avant de commiter du code sur un depot subversion, je me retrouve avec des fichiers temporaires. Pour les supprimer rapidement, j'utilise cette commande :

for I in $(svn status|awk '$1 == "?" { print $2 }'); do rm -rf $I; done

C'est assez bourrin, et ça ne pardonne pas si on a oublier de versioner un fichier :D

lsof pour chercher les ports ouverts

Tagged:  

lsof permet de visualiser les fichiers ouverts (par qui? pourquoi? comment?).

Les sockets ayant un FD au même titre que les fichiers du FS, il est possible
de visualiser les connexions en cours. c'est un beau melange de ps, netstat et
d'autres ... en mieux:

/!\ Le root voit des choses:

> echo `lsof -i |wc -l` `sudo lsof -i |wc -l`
7 19

exemple: afficher les fichiers ouverts par la commande squid (-csquid)
sur le domaine Internet (-i).

lsof -csquid -i

de vignere en zsh

Tagged:  

je donne souvent cet exercice en cours de C: affichez une table de vignere a l'écran.

en zsh:

# creer un tableau de a a z 
a=({a-z})
# repeter autant de fois qu'il y a d'element dans le tableau
repeat $#a {
  # afficher le tableau
  print $a;
  # le premier devient le dernier
  a+=$a[1];
  # je supprime l'ancien premier
  a[1]=() 
}

zsh, et les tableaux

Tagged:  

oui ... c'est vrai, perl a shift, unshift, pop et push ...

mais en zsh on a la meme en utilisant les sous-tableaux:

a=( this is a )
 
# pop
a[-1]=()
 
# push 
a[-1]=( $a[-1]  test )
 
# shift 
a[1]=()
 
# unshift
a[1]=( yeah, $a[1] )

<CS> les commandes fouries par un paquet debian

Tagged:  

Il m'arrive souvent d'écrire dans mon shell des lignes qui feraient de bons exos pratiques. Je ne les note jamais ... Mais tout ca va changer ... je vais m'améliorer .. je commence a blogger les CS pour code snippets.

soit une liste de fichiers et de repertoires (exemple: le resultat d'une commande dpkg -L ) , je veux en extraire les commandes.

Les commandes sont des fichiers ( -f ), ils sont executables ( -x ) et le nom de la commande est le basename du chemin ( $F[-1] si le separateur par defaut est '/' ( -F/ -a )).

au final :

dpkg -L iproute |

ssh: agent smith est partout

Tagged:  

sous debian, ssh-agent utiliise dbus et on s'habitue vite au confort de ne devoir tapper son mdp une seule fois par jour. Sous windows, c'est idem lorsqu'on lance puuty-agent au demarrage de la session.

sous les autres os, il faut faire ca a la mimine. en attendant mieux, voilà de quoi donner a manger a .profile, .zshenv et .xsession:

# does $SSH_AGENT_PID exists and is it 
# correctly set ? 
# use it as boolean ...
# exemple: ssh_agent_right_pid && echo ok
# tested: dash, zsh
ssh_agent_right_pid () {
    # if pid exists, there are 2 lines

latex vers png pour des images de formules mathématiques dans les sites web

Tagged:  

test.latex:

\documentclass{article}
\pagestyle{empty}
\begin{document}$x^2_n \to \emptyset$\end{document}

latex -interaction=nonstopmode test.latex &&
    dvips test.dvi &&
    convert -density 240 test.ps -trim -transparent white test.ps test.png

-density permet de gérer la taille du rendu final
-trim vire tout espace en trop
-transparent definit la couleur de transparence

Syndiquer le contenu