IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Où trouver la page de man sur les motifs, pas les glob ?


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2020
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2020
    Messages : 88
    Par défaut Où trouver la page de man sur les motifs, pas les glob ?
    Bonjour,

    J'ai tenté de retrouver une discussion que j'avais posté dans les premières mais je ne l'ai pas retrouvée.
    Je vais donc vous réexpliquer, j'avais fait le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    for f in *.l;
    do
    	mv "$f" "${f}_$(date)"
    done
    Et j'étais bien embêté pour revenir en arrière.
    Vous m'aviez donné cette astuce, le caractère # qui supprime tous les caractères qui le suivent.
    Je ne me souviens plus du code exact.
    Vous m'aviez dit que ce n'est pas un caractère glob alors comment ça s'appelle et ou le trouver dans le man pour avoir une liste exhaustive et lire un peu ?
    Et pouvez vous me donner à nouveau le code qui me permet de supprimer tout ce qu'il y a après le caractère = '_', le caractère = '_' y compris pour que je fasse des tests.

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 737
    Par défaut
    Bonjour,

    il s'agit de Remplacement de paramètres, il y en a de nombreux, pour de nombreux usages.

    soit v=foo_bar_baz, pour enlever ce qui suit le dernier _ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${v%_*}"
    foo_bar

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 304
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "Remplacement des paramètres"' bash

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 874
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par zephyre Voir le message
    J'ai tenté de retrouver une discussion que j'avais posté dans les premières mais je ne l'ai pas retrouvée.
    Tu vas dans ton profil et tu as un lien "trouver les discussions commencées" => https://www.developpez.net/forums/d2...pprimant-date/

    Et en complément du post de N_BaH, qui t'a montré le "%" qui part de la fin et s'arrête au premier caractère correspondant, le "%%" part aussi de la fin mais s'arrête au dernier caractère correspondant.

    soit v=foo_bar_baz, pour enlever ce qui suit le premier _ (donc celui le plus à gauche en partant de la fin):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${v%%_*}"
    foo
    Et le "#" lui il part du début et cherche vers la fin, en s'arrêtant au premier élément tandis que "##" lui s'arrête au dernier élément
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ echo "${v#*_}"
    bar_baz
    $ echo "${v#*_}"
    baz
    En revanche je n'ai pas réussi à obtenir juste "bar" (ai tenté des mix de "##" et "%%" mais sans résultat)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "Remplacement des paramètres"' bash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ man -P 'less -p "Remplacement des paramètres"' bash
    Pattern not found  (press RETURN)
     
    $ man -P 'less -p "Parameter Expansion"' bash
    => 
       Parameter Expansion
           The `$' character introduces parameter expansion, command substitution, or arithmetic expansion.  The parameter name or symbol to be expanded may be enclosed in braces,
           which are optional but serve to protect the variable to be expanded from characters immediately following it which could be interpreted as part of the name.

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 424
    Par défaut
    Et pour faciliter la recherche, donc n'afficher que les titre et sous-titre des paragraphes (example bash) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $ man bash | grep '^\ \{,3\}[^ ]'
    BASH(1)                                                                                    General Commands Manual                                                                                    BASH(1)
    NAME
    SYNOPSIS
    COPYRIGHT
    DESCRIPTION
    OPTIONS
    ARGUMENTS
    INVOCATION
    DEFINITIONS
    RESERVED WORDS
    SHELL GRAMMAR
       Simple Commands
       Pipelines
       Lists
       Compound Commands
       Coprocesses
       Shell Function Definitions
    COMMENTS
    QUOTING
    PARAMETERS
       Positional Parameters
       Special Parameters
       Shell Variables
       Arrays
    EXPANSION
       Brace Expansion
       Tilde Expansion
       Parameter Expansion
       Command Substitution
       Arithmetic Expansion
       Process Substitution
       Word Splitting
       Pathname Expansion
       Quote Removal
    REDIRECTION
    ...
    ...

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2020
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2020
    Messages : 88
    Par défaut
    Bonjour,

    Encore une fois merci pour la précision de vos réponses mais j'ai quelques questions :
    jack-ft
    man -P 'less -p "Parameter Expansion"' bash
    Je ne comprends pas comment cette commande peut fonctionner.
    J'ai regardé dans le man pour connaître ce que fait l'option -P de la commande man.
    Y a marqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    -P pager, --pager=pager
                  Specify which output pager to use.  By default, man uses pager, falling back to  cat
                  if pager is not found or is not executable.  This option overrides the $MANPAGER en‐
                  vironment variable, which in turn overrides the $PAGER environment variable.  It  is
                  not used in conjunction with -f or -k.
     
                  The  value  may  be  a  simple command name or a command with arguments, and may use
                  shell quoting (backslashes, single quotes, or double quotes).  It may not use  pipes
                  to connect multiple commands; if you need that, use a wrapper script, which may take
                  the file to display either as an argument or on standard input.
    Donc si j'ai bien compris tu n'as pas besoins de pipe pour connecter la commande less car y a marqué :
    It may not use pipes to connect multiple commands

    C'est donc pour cela que tu n'utilises pas de pipe ? (juste pour confirmer)n
    Ensuite on utilise les quotes simples pour protéger la commande man, c'est à dire que :
    less -p doit être interpréter par la commande man et non par le shell ? (juste pour confirmer)
    bash à la fin car on cherche dans man bash ? (juste pour confirmer)

    Bonne technique pour faire une recherche dans le man en ligne de commande.
    A la seul condition de connaitre à l'avance ce qu'on cherche.
    Merci beaucoup.

    disedorgue
    man bash | grep '^\ \{,3\}[^ ]'
    Es ce que tu pourrais me détailler ce que fait cette expression régulière stp ?
    J'ai fait un man grep.
    Ensuite j'ai cherché le caractère = '^' en faisant /^ dans le man j'ai rien.
    Je crois que ça veut dire commence par.
    Comment je fais pour connaitre la signification de l'ensemble de ces caractères dans le man ?
    Le backslash étant un caractère d'échappement comme en langage C.

  8. #8
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 424
    Par défaut
    Pour le grep, tu n'as pas du beaucoup chercher (en rouge, les paragraphes qui contiennent toutes les informations pour la regex) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    $ man grep | grep '^\ \{,3\}[^ ]'
    GREP(1)                                                                                         User Commands                                                                                         GREP(1)
    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
       Generic Program Information
       Pattern Syntax
       Matching Control
       General Output Control
       Output Line Prefix Control
       Context Line Control
       File and Directory Selection
       Other Options
    REGULAR EXPRESSIONS
       Character Classes and Bracket Expressions
       Anchoring
       The Backslash Character and Special Expressions
       Repetition
       Concatenation
       Alternation
       Precedence
       Back-references and Subexpressions
       Basic vs Extended Regular Expressions
    EXIT STATUS
    ENVIRONMENT
    NOTES
    COPYRIGHT
    BUGS
       Reporting Bugs
       Known Bugs
    EXAMPLE
    SEE ALSO
       Regular Manual Pages
       Full Documentation
    GNU grep 3.7                                                                                      2019-12-29                                                                                          GREP(1)
    Je n'utilise pas les man en français (trop d'erreurs de traduction qui portent à confusion à mon gout)

  9. #9
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 304
    Par défaut
    Citation Envoyé par zephyre Voir le message
    Donc si j'ai bien compris tu n'as pas besoins de pipe pour connecter la commande less car y a marqué :
    It may not use pipes to connect multiple commands
    Là, attention, incompréhension. Le paragraphe parle de la commande que tu passes au man. Elle peut avoir des protections avec guillemets mais il est déconseillé de mettre une conduite (pipe).
    Pour être clair, je reformule, on parle de la commande contenue et non de la commande contenante.

    Citation Envoyé par zephyre Voir le message
    C'est donc pour cela que tu n'utilises pas de pipe ? (juste pour confirmer)
    Non. On pourrait faire ce que tu proposes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man bash | less -p"Remplacement des paramètres"
    Citation Envoyé par zephyre Voir le message
    Ensuite on utilise les quotes simples pour protéger la commande man, c'est à dire que :
    less -p doit être interpréter par la commande man et non par le shell ? (juste pour confirmer)
    Oui ! Sinon le shell va découper à l'occasion d'espaces.

    Citation Envoyé par zephyre Voir le message
    bash à la fin car on cherche dans man bash ? (juste pour confirmer)
    Bien sûr. "bash" est la cible de la commande "man".

    Citation Envoyé par zephyre Voir le message
    Bonne technique pour faire une recherche dans le man en ligne de commande.
    A la seul condition de connaitre à l'avance ce qu'on cherche.
    C'est ce qu'on fait le plus souvent dans ce forum. On lâche l'expression qui est la clé pour que l'internaute se débrouille.

    Citation Envoyé par zephyre Voir le message
    Je crois que ça veut dire commence par.
    J'aurais tranché encore plus sec : "début de ligne".
    ^ début de ligne
    $ fin de ligne
    \< début de mot
    \> fin de mot.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ grep '\<chat\>' <<<"Il parle de son chat
    > dans le tchat."
    Il parle de son chat
    Note que la deuxième ligne a disparu. Pas la première.

  10. #10
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 235
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 235
    Par défaut
    Hello !
    Citation Envoyé par Sve@r Voir le message
    Et le "#" part du début et cherche vers la fin, en s'arrêtant au premier élément tandis que "##" s'arrête au dernier élément

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${v##*_}"
    baz


    Citation Envoyé par Sve@r Voir le message
    En revanche je n'ai pas réussi à obtenir juste "bar" (ai tenté des mix de "##" et "%%" mais sans résultat)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ u="${v%_*}" && w="${u#*_}" && echo "${w%%_*}"
    bar
    Bon dimanche,

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Et pour faciliter la recherche, donc n'afficher que les titre et sous-titre des paragraphes (example bash) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ man bash | grep '^\ \{,3\}[^ ]'
    BASH(1)                                                                                    General Commands Manual                                                                                    BASH(1)
    NAME
    ...
    Merci Disedorgue !

    Et, pour ceux qui arriveraient ici avec un grep pourri différent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ man bash | grep '^\ \{,3\}[^ ]'
    grep: invalid repetition count(s)
     
    $ man bash | grep '^\ \{0,3\}[^ ]'
    BASH(1)                                                                BASH(1)
    NAME
    ...

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jipété Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "${v##*_}"
    baz
    Ah oui, j'avais tapé le "##" chez-moi et ai oublié de le recopier dans le fofo

    Citation Envoyé par Jipété Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ u="${v%_*}" && w="${u#*_}" && echo "${w%%_*}"
    bar
    C'était naturellement sous-entendu "sans utiliser une variable intermédiaire". Evidemment qu'avec une variable qui récupère la sous-chaine j'y arrive
    D'ailleurs "w" contient déjà "bar", plus besoin d'y faire du remplacement
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  13. #13
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 235
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 235
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    C'était naturellement sous-entendu "sans utiliser une variable intermédiaire".

    Je m'en suis bien douté, mais n'y suis pas arrivé non plus : me suis pris une avalanche de "mauvaise substitution" ou similiare et bon, bref, j'avais autre chose à faire. On compte sur les gourous de Bash pour nous montrer comment faire,

  14. #14
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 737
    Par défaut
    pour récupérer uniquement bar depuis foo_bar_baz, utilisez un tableau. KISS!
    ou une regex entre [[ ]], et BASH_REMATCH pour afficher le résultat.

  15. #15
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2020
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2020
    Messages : 88
    Par défaut
    Flodelarab
    je reformule, on parle de la commande contenue et non de la commande contenante.
    J'ai rien compris.
    Dans un pipe y a pas de contenu ou de contenant car cmd1 | cmd2 veux simplement dire la sortie de la commande 1 va à l'entrée de la commande 2.
    Ou tu vois un contenu ou un contenant la dedans.
    C'est ça que j'ai pas compris.

    Sinon pour le reste j'ai tout ce qu'il faut pour me démerder.
    Merci.

  16. #16
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 737
    Par défaut
    la traduction de man man est plus claire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           -P afficheur, --pager=afficheur[...]
                  L'utilisation de tubes pour relier plusieurs commandes n'est pas possible ; si vous en avez vraiment besoin, utilisez un script enveloppe qui pourra prendre en argument le fichier à afficher ou l'entrée standard.
    Code non fonctionnel : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ commandeContenant="man \"$1\" -P \"$2\""
    $ commandeContenue="less -p \"motif\""
    $ commandeContenant pageMan "$commandeContenue"

  17. #17
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 424
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ echo $v
    foo_bar_baz
    $ : ${v#*_} && echo ${_%_*}
    bar


  18. #18
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 304
    Par défaut
    Citation Envoyé par zephyre Voir le message
    Ou tu vois un contenu ou un contenant la dedans.
    Le paramètre de l'option -P de man indique une commande. La phrase du manuel que tu as soulignée et surlignée dit simplement que l'option -P du man ne doit pas contenir de pipe.

  19. #19
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 235
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 235
    Par défaut
    Bonjour,

    Citation Envoyé par disedorgue Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ echo $v
    foo_bar_baz
    $ : ${v#*_} && echo ${_%_*}
    bar

    OK bravo mais là, tu pourrais expliquer un peu, parce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ help :
    :: :
        Commande vide.
     
        Sans effet : la commande ne fait rien.
     
        Code de retour :
        Renvoie toujours le code de succès.
    Même résultat avec help ':' et avec help ":", et ce qui m'interpelle, c'est la ligne "Sans effet : la commande ne fait rien." et comme je suis du style économe, un truc qui ne fait rien je le vire, mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ ${v#*_} && echo ${_%_*}
    bar_baz: command not found
    Et nous voilà donc face à une commande qui ne fait rien mais dont la présence est nécessaire,
    Merci pour tes lumières.

    Par ailleurs, pourquoi ? Pas de raison de taper quand la solution est bonne, àmha.

  20. #20
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 424
    Par défaut
    Comme tu dis, elle ne fait rien...

    Donc où se situe la subtilité ?

    C'est tout simplement que la commande ne fait rien et donc de ce fait, on peut lui passer des arguments dont elle-même ne fera rien.

    Et le $_ est (d'après le man) :
    _ At shell startup, set to the absolute pathname used to invoke the shell or shell script being executed as passed in the environment or argument list. Subsequently, expands to the last argument to the previous simple
    command executed in the foreground, after expansion.
    Also set to the full pathname used to invoke each command executed and placed in the environment exported to that command. When checking mail, this parameter
    holds the name of the mail file currently being checked.
    Le c'est pour le coté un peu borderline...

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/01/2014, 12h24
  2. Consultez les pages de man sur developpez.com
    Par Deepin dans le forum Linux
    Réponses: 11
    Dernier message: 29/11/2010, 12h44
  3. Page de Chapitre sur les versos
    Par Laura_Cuvi dans le forum Mise en forme
    Réponses: 1
    Dernier message: 19/05/2010, 23h01
  4. Réponses: 6
    Dernier message: 02/05/2007, 23h13
  5. Trouver un cours d'introduction sur les reseaux de neurones
    Par Alec6 dans le forum Méthodes prédictives
    Réponses: 2
    Dernier message: 10/10/2005, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo