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 :

Problème avec un alias


Sujet :

Shell et commandes GNU

  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Problème avec un alias
    Bonjour,

    Soit la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd /usr/ports && make search name=gaim
    Elle permet de rechercher le port ayant comme nom Gaim.

    Pour éviter de saisir cette commande pour mes recherches, je souhaite créer un alias comme celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias psearch='cd /usr/ports && make search name'
    Lorsque j'exécute la commande:
    Cela ne m'affiche rien

    Avez-vous une idée ?

    Merci

  2. #2
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Euh, je n'ai pas de Linux sous la main pour tester, mais pourquoi ne pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias psearch='cd /usr/ports && make search name='
    et ensuite de l'appeler par
    ?

    Si tu ne mets pas d'espace entre le nom de l'alias et le "=", c'est considéré comme une affectation, non ?

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Merci pour ta réponse

    Cela va être difficile de tester à moins que tu utilises FreeBSD

    Cependant lorsque j'exécute la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias psearch='cd /usr/ports && make search name='
    J'obtiens le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    The search target requires a keyword parameter or name parameter,
    e.g.: "make search key=somekeyword"
    or "make search name=somekeyword"
    make: don't know how to make gaim. Stop
    Je ne comprends pas ce qui se passe, pourtant en console, la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd /usr/ports && make search name=gaim
    fonctionne

  4. #4
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Etrange !
    Normalement, avec les simples cotes, la commande devrait être protégée. En fait, elle ne devrait même pas être analysée par le shell.

    Mais c'est vrai que j'ai déjà eu des réactions bizarres avec les alias, du temps où j'en abusais

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Avec tcsh sous FreeBSD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alias s 'cd /usr/ports && make search name=\!*'
    ?


    Julp.

  6. #6
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Julp: je viens de tester avec ton alias et le faite de taper uniquement m'affiche tous les ports disponibles et normalement, je devrais saisir

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    C'est une syntaxe valable pour les shells de type csh. Quel shell utilisez-vous ?


    Julp.

  8. #8
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Normalement, j'utilise Zsh, maus aujourd'hui, je teste bash dernière version avec bash-completion

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Eventuellement, pour remplacer les arguments comme le fait (t)csh, il serait possible d'implémenter cela pour bash à l'aide d'une fonction (voir cette discussion). Mais vous auriez peut être voulu faire ça autrement (alias uniquement) ?


    Julp.

  10. #10
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Je n'ai pas penser du tout à l'utilisation d'une fonction. J'ai pensé qu'un alias pouvait largement faire l'affaire. Je vais jetter un oeil sur le lien que tu viens de me donner

    Merci

  11. #11
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour,

    julp: vu qu'avec un alias, cela ne fonctionne pas, j'ai écris une petite fonction. Je ne me suis pas fouler mais elle fonctionne. Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function psearch ()
    {
      if [ $# -eq 0 ]; then
          echo "psearch: No keyword entered."
          return 1
      else
          cd /usr/ports && make search name=${1}
          cd $HOME
      fi
    Qu'en pensez-vous ? Le cd $HOME, ce n'est pas top donc si vous avez des idées à me proposer, je suis preneur

    Merci

  12. #12
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    bash n'empile pas les répertoires visités ?
    J'ai un petit doute, là...

    Si tu fais ça devrait te ramener dans le répertoire précédent.

  13. #13
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Citation Envoyé par zooro
    Si tu fais ça devrait te ramener dans le répertoire précédent.
    Effectivement, cela me ramène dans le répertoire précédent mais en plus du résultat il m'affiche le chemin en question. Je pensais qu'il existait une commande pour faire cela proprement mais je ne sais plus

    Merci quand même

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

Discussions similaires

  1. [Débutant] Problème avec un alias
    Par gautgaut dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 14/11/2014, 23h55
  2. Petit problème avec alias
    Par chicabonux dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 23/09/2009, 12h22
  3. Problème avec un alias
    Par Gnux dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/09/2008, 22h09
  4. Réponses: 4
    Dernier message: 21/08/2006, 09h38
  5. Problème avec POE attribut Alias
    Par vodevil dans le forum Modules
    Réponses: 1
    Dernier message: 04/05/2006, 09h05

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