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 :

Creer un raccourci personnalisé en bash !


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut Creer un raccourci personnalisé en bash !
    Bonjour,
    J'essaie de créer un petit script bash mais je n'y arrive pas !

    Pourtant ça m'a l'air très simple !!

    Voila ...
    Dans mon /home/user/ j'ai un dossier /Travail
    Du coup j'ai /home/user/Travail ... (dsl si je suis lourd ...)
    Dans mon dossier travail, j'aime bien numéroter tout mes sous dossier par ordre croissant ... ça permet quand je fais un "ls -l" de toujours les avoir par ordre chronologique ... (puis c'est plus simple quand je fais un "cd ..." pour l'auto-completion ... mais c'est juste un avis personnel)
    Bref, j'ai donc plein de dossier comme ça :

    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
     
     /home/user/Travail/
                        000_SVN
                        001_RTT
                        005_TOTO
                        006_DOCUMENTS_TECHNIQUES
                        007_TATA_III
                        162_FFT_XYZ
                        170_S_U_IV
                        171_GCL_SIMSON
                        172_Cas-test_FOIREU
                        172_KOALA_IERR_ligne_326_trop_longue
                        173_FCI_VLARGE_FPE
                        180_Bug_Temperature
                        190_INSTALLATION_YOLO
                        191_ESTER_SU
                        200_Mise_A_Niveau_
                        210_ACCOUPLEMENT_LES_CHATS
                        211_ACCOUPLEMENT_LES_CHIENS
                        220_FFT_1
                        221_FFT_2
                        222_FFT_3
                        230_FFT_4
                        231_FFT_5
                        240_METEO
                        960_MNO_scripts_dbg
                        970_TEMPLATE
                        980_SCRIPTS
                        990_DBG
    Du coup, "easy peasy" je me suis fais un super script !
    je l'ai appelé "cdx.sh" et je l'ai mis un dossier visible par le path.
    Je lui ai donné des droits en exécution.
    J'ai fais un alias dans mon ~/.bashrc



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
     
    directory=$1
     
    eval cd   /home/user/Travail/${directory}*/
    echo /home/user/Travail/${directory}*
    mon idée c'est que quand je tape dans un terminal la commande suivante :
    Et bien j'espère me retrouver dans le dossier : /home/user/Travail/240_METEO

    !! Ben ça marche pas !!

    Pourtant, la commande "echo" que j'ai tapé dans mon script me renvoie bien le bon nom de dossier, mais je n'ai pas réussi à faire fonctionner la commande "cd" !

    Est-ce que quelqu'un a une idée ??

    Merci les copains !

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

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

    pourquoi eval ?

    et si tu passes 172 comme argument ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Qu'apporte ce script par rapport à la complétion de commande, dont tu dis toi-même que tu la trouves pratique avec cette numérotation ?
    De plus, dans le cas 172 ou similaire, la complétion ne sortira pas en erreur, elle

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Citation Envoyé par balkany Voir le message
    Qu'apporte ce script par rapport à la complétion de commande, dont tu dis toi-même que tu la trouves pratique avec cette numérotation ?
    De plus, dans le cas 172 ou similaire, la complétion ne sortira pas en erreur, elle
    Oui, c'est vrai que il faut que je renomme mon dossier 172.
    J'ai besoin de cette commande parce que je fais souvent des allés retour dans mes dossiers... bref, c'est pour me simplifier la vie, comme tout les scripts.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,
    pourquoi eval ?
    Le eval ?? Parce que j'essaie un peu tout et n'importe quoi vu qu'une simple commande avec "cd" ne marche pas. Dans ma dernière version du code il y a cet "eval" qui reste ...

  6. #6
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Ah oui, c'est vrai que tu ne te situes pas forcément dans le répertoire « Travail » quand tu veux changer de répertoire.
    Donc c'est vrai que ça peut être un peu pénible d'aller chercher la complétion à plusieurs répertoires de distance, autant pour moi.

    Mais du coup je ne vois pas pourquoi ton script (qui pourrait être une simple fonction déclarée dans le .bashrc) ne fonctionne pas, avec un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd /home/user/Travail/$1*
    Quel retour as-tu dans le terminal ?

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Citation Envoyé par balkany Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd /home/user/Travail/$1*
    Oui, c'était ma première version du code que j'ai fait évoluer parce qu'elle ne fonctionnait pas ... alors j'ai essayé pleins de chose et j'en suis arriver au code que j'ai à présent.

    Bref, en retour, j'ai la commande echo qui à bien réussi à trouver le bon dossier, mais la commande "cd" semble ne pas avoir fonctionné.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    en fait, ça fonctionne probablement, dans le script.
    ajoute un pwd avant le echo pour l'observer.

    mais, c'est dans le script, quand le script s'achève, le sous-shell est détruit, ainsi que son environnement, à savoir le répertoire courant; on revient donc au répertoire de travail du shell principal.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

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

    Et bien j'espère me retrouver dans le dossier : /home/user/Travail/240_METEO

    !! Ben ça marche pas !!
    Et bien c'est tout à fait normal. Lorsque tu lances un script, tu crées un processus qui se comporte comme une bulle protégée dans laquelle tu fais ce que tu veux. Mais quand tu sors de la bulle, et du script, alors tout redevient comme avant. En clair, tu n'as pas bougé.

    Les 3 solutions que j'entrevois :

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    Et bien c'est tout à fait normal. [...]
    Les 3 solutions que j'entrevois :
    • [...]
    • [...]
    • Utiliser un alias ou une fonction. Pas un script. Dans le ~/.bashrc, aussi
    Citation Envoyé par balkany Voir le message
    Mais du coup je ne vois pas pourquoi ton script (qui pourrait être une simple fonction déclarée dans le .bashrc) ne fonctionne pas, avec un [...]
    Merci beaucoup les copains ! C'est simple quand on connait le truc et c'était pas mon cas.
    Du coup vous êtes plusieurs à me parler de fonction dans le ~/.bashrs ... je vais donc aller faire un tour sur google pour voir ce que c'est ... mais je vais quand même attendre pour voir si l'un de vous à la patience de me l'expliquer (si c'est pas trop long bien sûre).

    Merzi encore

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Et bien c'est tout à fait normal. Lorsque tu lances un script, tu crées un processus qui se comporte comme une bulle protégée dans laquelle tu fais ce que tu veux. Mais quand tu sors de la bulle, et du script, alors tout redevient comme avant. En clair, tu n'as pas bougé.[/LIST]
    Juste pour savoir. Du coup quand je crée un script,
    si je fais "cd" , sa se passe dans le sous-shell
    mais si je fais "echo" ça se passe dans le master shell !!
    en gros c'est ... je sais pas, des fois oui, des fois non... bon, il dois y avoir une explication logique quelque part.
    Gros merci à tous

  12. #12
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Citation Envoyé par balkany Voir le message
    Mais du coup je ne vois pas pourquoi ton script […] ne fonctionne pas
    Oh là là
    Il faudrait peut-être que je pense à m'acheter des yeux…

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

Discussions similaires

  1. raccourcis personnalisé powerpoint
    Par thepooh dans le forum Powerpoint
    Réponses: 7
    Dernier message: 08/12/2008, 13h45
  2. Réponses: 0
    Dernier message: 28/08/2008, 21h34
  3. [VB.NET] Creer des raccourcis
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/06/2006, 20h27
  4. [Raccourci] Creer un raccourci pour System.out.println()
    Par VlaMonPseudo dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/04/2006, 14h48
  5. Réponses: 4
    Dernier message: 29/03/2006, 10h42

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