Aldo wrote on Fri, Sep 26, 2008 at 11:41:03AM +0200
> Salut Dominique:
> 
> On Fri, Sep 26, 2008 at 11:05:36AM +0200, Dominique Asselineau wrote:
> > Philippe Delavalade wrote on Fri, Sep 26, 2008 at 08:56:17AM +0200
> > > Bonjour Dom.
> > > 
> > > Le jeudi 25 septembre à 17:16, Dominique Asselineau a écrit :
> > > > Il faut également préciser que les options sont facultatives et que le
> > > > seul moyen de les distinguer d'un paramètre, est précisément de les
> > > > faire précéder du trait d'union (ou de 2 pour les syntaxes longue").
> > > > Si on omet de mettre le trait d'union devant une option alors celle-ci
> > > > est normalement prise pour un paramètre, en l'occurrence un nom de
> > > > ficher pour la commande tail.  Rien n'interdit sous Linux, Unix en
> > > > général, d'avoir un nom de fichier composé de chiffres précédés d'un
> > > > signe '+' ou d'un signe '-' d'ailleurs, il y a des contextes qui
> > > > peuvent s'y prêter.  À propos, pour essayer d'être à peu près complet,
> > > > si un nom de fichier commence par un trait d'union, alors il faut
> > > > séparer la liste des options de celle des paramètres par la séquence 
> > > > '--'.
> > > 
> > > Ta remarque m'amène à poser la question suivant, m'étant déjà débattu avec
> > > le cas d'un nom de fichier commençant par "-" suite à un doigt qui glisse
> > > sur le clavier :-(
> > > 
> > > Dans un script ayant par exemple un ligne du genre
> > > 
> > > commande -option $NOMDUNFICHIER
> > > 
> > > ne serait-il pas plus sûr au cas où le fichier s'appellerait -tartampion,
> > > d'inclure systématiquement les deux tirets et d'écrire
> > > 
> > > commande -option -- $NOMDUNFICHIER
> > 
> > Tout à fait et pour être encore plus précis, je mettrais
> > 
> > commande -option -- "$NOMDUNFICHIER"
> 
> En principe -- -tartampion doit suffir, 

Dans ce cas particulier oui.

> je pense meme que -- "-tartampion"
> signifierait qu'il doit réellement prendre le tout en compte y compris les
> guillemets qui n'existent pas; donc ça n'ira pas en principe ?

le -- n'est pas là pour indiquer que tout ce qui suit doit être pris
en compte en tant que donnée.  C'est seulement pour empêcher une
mauvaise interprétation d'un paramètre qui pourrait être pris pour une
option.

> D'autre part les " " je les utilise pour encadrer un nom contenant des
> espaces comme dans "ceci est un fichier"; ou alors ceci\ est\ un\ fichier
> qui fonctionne aussi.

Oui, justement mais Philippe a cité le cas d'un script, et dans un
script, il faut justement être précis et prendre tout les cas en
compte puisqu'on ne connaît pas à l'avance ce qui va être indiqué
comme paramètre.  Et un nom de fichier peut comporter des espaces.

dom

--
_______________________________________________
Liste de diffusion CarrefourBLinuX 
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à