Quand je programme directement sur la ligne de commande, j'utilise cette technique.
Quand je fais un script que je veux pouvoir débogguer facilement (ou lancer de temps à autre en étant sur de ne rien cassé), j'ai quelques techniques simples:
# SHOW est choisi (par édition ou avec une option quelconque)
# Ici on débug
SHOW=echo
# ici on fait l'opération
SHOW=
# et après, pour les étapes dangeureuses :
$SHOW rm ...
$SHOW mv ...
Dans le même ordre d'idée, j'ai aussi :
run() {
if [ "$verbose" = 1 ]; then
echo -n "Running:"
for arg; do
echo -n " '$arg'"
done
echo
fi
"$@"
}
C'est marrant comme on applaudit ici quand un établissement passe sous environnement libre (souvent grâce à l'engagement d'une partie du personnel qui s'investit sur son temps libre), mais quand un autre établissement refuse ce changement, alors c'est l'ensemble des "fonctionnaires" qui ont une mauvaise attitude.
C'est ce genre de commentaires qui me hérisse (bien que je ne sois pas fonctionnaire, mais j'en connais beaucoup). Ça crée des tensions inutiles entre deux catégories de la population complètement idiotes (les tensions, pas les catégories :-)). Et surtout, ça énerve BEAUCOUP toute une partie des fonctionnaires qui ne méritent absolument pas ces critiques. Et après, on s'étonne qu'ils soient aigris quand on leur fait des reproches immérités/infondés.
Le problème, c'est que le stylo que je tiens dans mon rêve, il n'a jamais laissé de trace sur la feuille à mon réveil. Tu fais comment ?
(il est où le -1 ?)
> Si je me souviens bien on avait démontré qu'un algo de tri était au mieux en O(n ln(n)).
Avec des hypothèses, tout de même.
Parce que si on ne trie que des entiers de 32bits (ou toute autre taille bornée), on peut alors avoir un tri linéraire (tri radix par exemple). Une recherche très rapide sur google m'a donné : http://fr.wikipedia.org/wiki/Tri(...)
En archi, on forme aussi des réseaux de tri qui font leur boulot en temps linéraire.
La borne donnée n'est valable que pour les tris basés sur des comparaisons successives.
> Sauf que la syntaxe proposée, comme dit plus bas, permet de ne pas créer un autre fichier. Comme ce sont deux commandes disctinctes, tu peux, sans risque, écrire sur le fichier que tu lis !
Faux. le comportement de "cat toto | sed ... > toto' dépend du shell. Tu n'as aucune certitude que toto sera tout lu avant d'être réécrit.
Tu supposes que le 'read()' de cat lit tout le lichier avant le 'open(O_CREATE, ...)' du shell. Je n'ai pas testé, mais je parie que c'est faux au moins pour les gros fichiers (qui ne tiennent pas en mémoire et sont lus bout par bout par cat).
L'option '-i' ou '--in-place' de sed permet par contre de modifier un fichier sans le renommer/faire une copie/...
> Le projet gnome a bien percuté sur ce point. Même s'il y a quelques plaintes, j'espère qu'ils vont tenir bon car c'est la bonne voie.
Bof, les disparitions de plus en plus de réglages me font envisager de changer de logiciel. Si j'utilise gnome, c'est pour avoir une certaine facilité de configuration. S'il faut que j'édite un fichier pour changer de WM ou que j'utilise gconf-editor pour changer ce que font mes boutons de souris avec galeon, ben c'est pas glop.
Que ces réglages soient regroupés dans un bouton 'Advenced' ou autre, ok.
S'ils disparaissent, j'irai voir ailleurs. Et l'évolution actuelle des applis gnomes ne me plait absolument pas de ce point de vue là.
[^] # Re: debug de scripts bash
Posté par Vincent Danjean . En réponse au message [Terminal] debug de scripts bash. Évalué à 1.
[^] # Re: Samba 3 est sortie
Posté par Vincent Danjean . En réponse à la dépêche Samba 3 est sorti. Évalué à 10.
C'est ce genre de commentaires qui me hérisse (bien que je ne sois pas fonctionnaire, mais j'en connais beaucoup). Ça crée des tensions inutiles entre deux catégories de la population complètement idiotes (les tensions, pas les catégories :-)). Et surtout, ça énerve BEAUCOUP toute une partie des fonctionnaires qui ne méritent absolument pas ces critiques. Et après, on s'étonne qu'ils soient aigris quand on leur fait des reproches immérités/infondés.
[^] # Re: La programmation est un art
Posté par Vincent Danjean . En réponse à la dépêche La programmation est un art. Évalué à 5.
(il est où le -1 ?)
[^] # Re: Avancées technologiques du prochain Kernel
Posté par Vincent Danjean . En réponse à la dépêche Avancées technologiques du prochain noyau Linux. Évalué à 1.
Avec des hypothèses, tout de même.
Parce que si on ne trie que des entiers de 32bits (ou toute autre taille bornée), on peut alors avoir un tri linéraire (tri radix par exemple). Une recherche très rapide sur google m'a donné : http://fr.wikipedia.org/wiki/Tri(...)
En archi, on forme aussi des réseaux de tri qui font leur boulot en temps linéraire.
La borne donnée n'est valable que pour les tris basés sur des comparaisons successives.
[^] # Re: le cat ne sert à rien
Posté par Vincent Danjean . En réponse au message [Terminal] Changements rapides avec sed. Évalué à 1.
Faux. le comportement de "cat toto | sed ... > toto' dépend du shell. Tu n'as aucune certitude que toto sera tout lu avant d'être réécrit.
Tu supposes que le 'read()' de cat lit tout le lichier avant le 'open(O_CREATE, ...)' du shell. Je n'ai pas testé, mais je parie que c'est faux au moins pour les gros fichiers (qui ne tiennent pas en mémoire et sont lus bout par bout par cat).
L'option '-i' ou '--in-place' de sed permet par contre de modifier un fichier sans le renommer/faire une copie/...
[^] # Re: Nouveau plan de route pour Mozilla !
Posté par Vincent Danjean . En réponse à la dépêche Nouveau plan de route pour Mozilla !. Évalué à 3.
Bof, les disparitions de plus en plus de réglages me font envisager de changer de logiciel. Si j'utilise gnome, c'est pour avoir une certaine facilité de configuration. S'il faut que j'édite un fichier pour changer de WM ou que j'utilise gconf-editor pour changer ce que font mes boutons de souris avec galeon, ben c'est pas glop.
Que ces réglages soient regroupés dans un bouton 'Advenced' ou autre, ok.
S'ils disparaissent, j'irai voir ailleurs. Et l'évolution actuelle des applis gnomes ne me plait absolument pas de ce point de vue là.
[^] # Re: Système non standard?
Posté par Vincent Danjean . En réponse au message [Terminal] Accelérer le système de fichier. Évalué à 2.
[^] # Re: Utilisez GNU Stow
Posté par Vincent Danjean . En réponse à la dépêche Cheval de troie dans OpenSSH. Évalué à 2.
configure --prefix=/usr/local
make
make install prefix=/usr/local/stow/mon-soft/
Comme ça, si le soft utilise 'prefix' (dans des fichiers d'exemple de config pour l'utilisateur par exemple), on ne voit pas stow/mon-soft/.