OVH Cloud OVH Cloud

j'en rêvais pas

24 réponses
Avatar
Herve Autret
Bonjour

j'en rêvais pas, mais zsh l'a fait :
autret@pc unalias rm
autret@pc rm -f ~/.pan/messages/folders/pan.sendlater/*
zsh: sure you want to delete all the files in ...

Non bien sûr, connard.

10 réponses

1 2 3
Avatar
Matthieu Moy
Herve Autret writes:

Bonjour

j'en rêvais pas, mais zsh l'a fait :
unalias rm
rm -f ~/.pan/messages/folders/pan.sendlater/*
zsh: sure you want to delete all the files in ...


« Il y a deux catégories de gens sous Unix, ceux qui ont déjà fait une
connerie en root et ceux qui vont pas tarder à la faire »

En l'occurence, y'a même pas besoin d'être root pour faire un rm mal
placé, et je peux t'assurer qu'il y a pas mal de gens qui auraient
aimé avoir un tel avertissement une fois dans leur vie !

Non bien sûr, connard.


Plutôt que de l'insulter, je te suggère deux choses au choix :

1) arrêter d'utiliser zsh vu que tu ne l'aimes visiblement pas.

2) RTFM.

--
Matthieu

Avatar
Mihamina Rakotomandimby
On Tue, 29 Aug 2006 12:19:36 +0200, Matthieu Moy wrote:

arrêter d'utiliser zsh vu que tu ne l'aimes visiblement pas.


ou ne sais pas l'utiliser...

Avatar
Herve Autret
Matthieu Moy a ecrit :

« Il y a deux catégories de gens sous Unix, ceux qui ont déjà fait une
connerie en root et ceux qui vont pas tarder à la faire »


Déjà fait.

En l'occurence, y'a même pas besoin d'être root pour faire un rm mal
placé, et je peux t'assurer qu'il y a pas mal de gens qui auraient
aimé avoir un tel avertissement une fois dans leur vie !


Il y a alias pour ça. Quand on unaliasse rm, je ne vois pas pourquoi le
shell vient encore s'interposer. On vient de lui dire qu'on sait ce
qu'on fait, AMHA.

Plutôt que de l'insulter, je te suggère deux choses au choix :


C'est pas vraiment le shell que j'interpelais dans son moi profond.

$ ls *
zsh_2007: Are you sure ?
--
Hervé

Avatar
Matthieu Moy
Herve Autret writes:

Il y a alias pour ça.


J'accepterai cet argument le jour où te me montrera un alias qui te
met un warning quand tu as une étoile sur la ligne de commande.

C'est zsh qui fait l'expansion de l'étoile, et rm n'a aucun moyen de
savoir si tu lui avait fourni une liste explicite ou un wildcard.

--
Matthieu

Avatar
Herve Autret
Matthieu Moy a ecrit :

Il y a alias pour ça.


J'accepterai cet argument le jour où te me montrera un alias qui te
met un warning quand tu as une étoile sur la ligne de commande.


ça n'existe pas, est-ce nécessaire pour autant ?

C'est zsh qui fait l'expansion de l'étoile, et rm n'a aucun moyen de
savoir si tu lui avait fourni une liste explicite ou un wildcard.


Exactement, ce qui fait que si je l'unaliasse ou si je tape rm +i, je
m'attends à ne pas être emmnuyé par un filet de sécurité
supplémentaire. D'un autre côté, à "force" de systématiquement
répondre "y" à la question "are you sure" parce qu'on ne lance pas
de commandes sur des wildcards par hasard, quelqu'un finira bien par taper
"y" par habitude.

C'est à rapprocher de la raison pour laquelle on ne devrait pas
aliaser rm par rm -i : le jour où on se retrouve sur un
système qui ne comporte pas cette protection, on va dans le mur.

À quand un alias sur gimp (attention, certaines images peuvent choquer :
are you sure ?)
--
Hervé


Avatar
Herve Autret
Herve Autret a ecrit :

C'est pas vraiment le shell que j'interpelais dans son moi profond.
$ ls *
zsh_2007: Are you sure ?


Pour préciser ma pensée (des fois je m'exprime pas bon) : c'est rm -f
--> are you sure ? qui me paraît exprimer une incohérence : si je dis
"rm -f", c'est que je le veux. Si je m'ai gourré, bon ben j'avais qu'à
pas préciser -f *, ce n'est pas la faute du shell. Tu vois ce
que je veux dire ?
Note: j'ai quitté bash pour zsh en fonction de la manière sympatique à
mes yeux (qui ne comprennent pas tout, si cet aveu peut te rassurer) qu'il
a de gérer "*" (pas de glob --> on ne va pas plus loin). Sauf dans ce cas
particulier où il y a glob mais où justement il fait des manières, ce
dont j'aurais préféré me passer.

Avatar
Damien Wyart
* Herve Autret in fr.comp.os.linux.configuration:
Note: j'ai quitté bash pour zsh en fonction de la manière sympatique
à mes yeux (qui ne comprennent pas tout, si cet aveu peut te rassurer)
qu'il a de gérer "*" (pas de glob --> on ne va pas plus loin). Sauf
dans ce cas particulier où il y a glob mais où justement il fait des
manières, ce dont j'aurais préféré me passer.


Bon, ben man zshoptions, et puis on en parle plus :

,----
|
| RM_STAR_SILENT (-H) <K> <S>
| Do not query the user before executing `rm *' or `rm
| path/*'.
|
| RM_STAR_WAIT
| If querying the user before executing `rm *' or `rm
| path/*', first wait ten seconds and ignore anything typed
| in that time. This avoids the
| problem of reflexively answering `yes' to the query when
| one didn't really mean it. The wait and query can always
| be avoided by expanding
| the `*' in ZLE (with tab).
|
`----

Vu la souplesse de zsh, tu dois bien te douter que cet aspet qui te
déplait est configurable...

--
DW

Avatar
Matthieu Moy
Herve Autret writes:

Il y a alias pour ça.



[...]

ça n'existe pas, est-ce nécessaire pour autant ?


Et t'as pas l'impression d'être contradictoire dans tes argument ?

C'est zsh qui fait l'expansion de l'étoile, et rm n'a aucun moyen de
savoir si tu lui avait fourni une liste explicite ou un wildcard.


Exactement, ce qui fait que si je l'unaliasse ou si je tape rm +i, je
m'attends à ne pas être emmnuyé par un filet de sécurité
supplémentaire.


As-tu essayé d'appliquer l'une des propositions que je t'avais faite
dans mon premier message ?

--
Matthieu



Avatar
Hervé Autret
Bonjour

Damien Wyart posta :

Vu la souplesse de zsh,


Probablement incomparable; je ne peux pas en dire autant de moi. Sais-tu
comment imposer l'otion RM_STAR_SILENT au démarrage ? dans /etc/passwd,
zsh -H n'est as accepté, et dans ~/.zshrc, RM_STAR_SILENT=1 ne fait rien
d'appréciable.

Merci d'avance

Avatar
Hervé Autret
Matthieu Moy posta :

ça n'existe pas, est-ce nécessaire pour autant ?
Et t'as pas l'impression d'être contradictoire dans tes argument ?



Pas exactement : man condom n'existe pas en standard sous Linux, il n'est
pas pour autant indispensable.

As-tu essayé d'appliquer l'une des propositions que je t'avais faite
dans mon premier message ?


/bin/false offre peu de possiblités; pour zsh l'option RM_STAR_SILENT a
l'air d'être ce que je cherche, sais-tu comment l'appliquer au
démrrage, sachant que (Slackware-10.2) ?
$ls /etc/zshrc
ls: /etc/zshrc: No such file or directory
$ man zshrc
No manual entry for zshrc


1 2 3