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 :

Raccourcis , alias & accès rapide


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Raccourcis , alias & accès rapide
    Bonjour,

    Pour faire simple dans Linux-Unix il y a deux systèmes pour les alias et raccourcis . Pourriez vous me dire ci je me plante sur la compréhension de la chose ?

    Si on fait :

    [point][espace][une chaine prédéfini]

    soit

    Code Linux-Unix : Sélectionner tout - Visualiser dans une fenêtre à part
    . machainetoto

    on est bien sur un alias à accès rapide à une application se trouvant dans un autre répertoire ?

    Dans le même acabit

    Code Linux-Unix : Sélectionner tout - Visualiser dans une fenêtre à part
    $machainetoto2

    permet d’accéder à un répertoire ?

    Merci d'apporter vos lumières

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

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

    Ce que tu dis est obscur.

    . est le raccourci pour la commande built-in source.
    Donc pour en savoir plus :
    ou
    Et tu cherches source.

    Ce n'est pas un alias.
    La liste des alias s'obtient en tapant:
    Quant à la variable, elle va être remplacée avant d'être interprétée.
    (set -x permet de voir ce qui est exécuté)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [17:40:30 /]$ set -x
    [17:40:49 /]$ toto="cd /"
    +17:40:52 toto='cd /'
    [17:40:52 /]$ $toto
    +17:40:56 cd /
    [17:40:56 /]$ set +x
    +17:41:18 set +x
    [17:41:18 /]$
    Encore rien à voir avec un raccourci ou un alias.

    Est-ce plus clair ?

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    je vais tamiser l'éclairage :
    . n'est pas un "alias interne", c'est-à-dire dans le code source* de bash ?
    je n'y connais rien en programmation C, donc je pose la question.

    --
    *j'ai prévenu que j'allais baisser la lumière.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Mais il est où ce satané bouton pour la lumière ?


    Ah ! Trouvé !


    Et bien non.
    Les alias sont gérés par le code de alias.c alors que le point, qui n'est ni un mot réservé, ni un signe à sens particulier (comme "<"), est traité comme une fonction built-in à part entière et définie dans le fichier builtins/source.def
    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
    $BUILTIN source
    $FUNCTION source_builtin
    $SHORT_DOC source filename [arguments]
    Execute commands from a file in the current shell.
     
    Read and execute commands from FILENAME in the current shell.  The
    entries in $PATH are used to find the directory containing FILENAME.
    If any ARGUMENTS are supplied, they become the positional parameters
    when FILENAME is executed.
     
    Exit Status:
    Returns the status of the last command executed in FILENAME; fails if
    FILENAME cannot be read.
    $END
     
    $BUILTIN .
    $DOCNAME dot
    $FUNCTION source_builtin
    $SHORT_DOC . filename [arguments]
    Execute commands from a file in the current shell.
     
    Read and execute commands from FILENAME in the current shell.  The
    entries in $PATH are used to find the directory containing FILENAME.
    If any ARGUMENTS are supplied, they become the positional parameters
    when FILENAME is executed.
     
    Exit Status:
    Returns the status of the last command executed in FILENAME; fails if
    FILENAME cannot be read.
    $END
    On pourra noter que les 2 mots "." et "source" renvoie vers la même fonction source_builtin.

    Ce qui n'empêche pas de les considérer pour leur être propre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ help .
    .: . nom_fichier [arguments]
        Exécute des commandes depuis un fichier dans le shell actuel.
     
        Lit et exécute des commandes depuis NOMFICHIER dans le shell actuel.  Les
        éléments dans $PATH sont utilisés pour trouver le répertoire contenant NOMFICHIER.
        Si des ARGUMENTS sont fournis, ils deviennent les paramètres de position
        lorsque NOMFICHIER est exécuté.
     
        Code de sortie :
        Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le code
        d'échec si NOMFICHIER ne peut pas être lu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ help source
    source: source nom_fichier [arguments]
        Exécute des commandes depuis un fichier dans le shell actuel.
     
        Lit et exécute des commandes depuis NOMFICHIER dans le shell actuel.  Les
        éléments dans $PATH sont utilisés pour trouver le répertoire contenant NOMFICHIER.
        Si des ARGUMENTS sont fournis, ils deviennent les paramètres de position
        lorsque NOMFICHIER est exécuté.
     
        Code de sortie :
        Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le code
        d'échec si NOMFICHIER ne peut pas être lu.


    Rideau.


  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    @Flodelarab : j'appelle alias par exemple :

    Je suis dans

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    /repertoire1/sousrepertoirephp

    Je saisis

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    monserveur::/repertoire1/sousrepertoirephp> $sql

    J'arrive dans

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    monserveur::/repertoire1/sousrepertoiresql>

    ------------

    Pour l'histoire du point , je saisis ceci

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    monserveur::/repertoire1/sousrepertoire> . trucpgm

    J'arrive dans

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    monserveur:trucpgm:/repertoire1/sousrepertoire>

    J'ai creusé mon raisonnement, cela concerne des "alias" et "raccourcis" construits et enregistrés par les admins pour se déplacer plus vite sur le serveur linux. Les "alias" et "raccourcis" en question ne sont pas d'origine en complément .

    Code linux : Sélectionner tout - Visualiser dans une fenêtre à part
    monserveur::/repertoire1/sousrepertoire> . trucpgm

    @N_BaH : Exactement c'est la ou je souhaite en venir , les "alias" et "raccourcis" en question sont des "fonctionnalités en plus" faite par un ou des utilisateurs.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    merci Flodelarab.
    on peut ajouter que sourcen'est pas POSIX, il faut donc ne pas l'employer dans un script /bin/sh.

    Citation Envoyé par tanaka59
    j'appelle alias
    il ne faut pas . ni l'un ni l'autre n'est un alias.
    si tu ne connais pas le nom d'une chose, contente-toi de décrire son comportement du mieux que tu peux : n'appelle pas "Micheline" la vendeuse de la boulangerie si tu ne connais pas son prénom, même si tu trouves que "ça lui irais bien".

    dans le premier cas, il s'agit d'une variable, qui, lorsque l'option autocd est activée et que cette variable contient le nom d'un répertoire est exécuté comme s'il était l'argument de la commande interne cd. Cette option n'est utilisée que par les interpréteurs interactifs.

    dans le second cas, il faut regarder l'explication de la commande source, qui exécute un script dans l'environnement courant en, éventuellement, le modifiant, contrairement à un script normalement exécuté qui ouvre un sous-interpréteur sans modifier l'environnement courant.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Acces rapide aux données
    Par new.proger dans le forum JDBC
    Réponses: 4
    Dernier message: 18/07/2007, 15h19
  2. accès rapide à un fichier texte volumineux
    Par Shrine dans le forum C++
    Réponses: 2
    Dernier message: 12/03/2007, 16h25
  3. structure de donnee et acces rapide à un element
    Par romeo9423 dans le forum C++
    Réponses: 2
    Dernier message: 01/09/2005, 08h35
  4. Accés rapide aux propriétés d'un Objet
    Par Alacazam dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2002, 21h56

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