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 :

Commande cd dans un script


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut Commande cd dans un script
    Bonjour

    Désolé pour la question de débutant !
    Je suis dans une console et je fais cd /var/lib/mysql-files et je me retrouve dans le répertoire voulu.
    Si je mets la même commande dans un fichier et que j'exécute le fichier avec bash, il ne se passe rien.
    Question : certaines commandes sont elles inopérantes dans un script ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de gabriel21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2007
    Messages : 548
    Par défaut
    Il n'y a pas de commandes qui sont neutralisé en script.

    Par contre, de manière générale, un script s'exécute dans un processus fils.
    Par conséquent, l'environnement bash à partir duquel tu as lancé le script n'est pas modifié.

    En gros ton script va bien dans le répertoire. Si tu veux t'en assurer, tu peux faire un pwd juste après ton cd. Mais, à la fin de ton script, tu reviens à l'endroit où tu étais.

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    ah .... donc ce genre de raccourci que je voulais faire depuis un répertoire de base n'est pas possible.
    C'était surtout pour m'éviter de me souvenir de certains chemins où je vais parfois.
    Comme je ne suis pas un grand pratiquant de linux, je pensais faire ça pour m'aider.
    Tant pis

    Merci

  4. #4
    Membre Expert Avatar de gabriel21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2007
    Messages : 548
    Par défaut
    Tu peux utiliser des variables que tu charges au démarrage de bash, c'est à dire dans .bashrc.
    Pour plus d'information, je te renvoie vers la documentation Ubuntu : https://doc.ubuntu-fr.org/variables_d_environnement

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 133
    Par défaut
    Tu peux aussi...
    • créer des alias :
      alias cdprg="cd /mon/chemin/long/vers/mes/programmes"
    • créer des liens dans ton répertoire HOME :
      ln -s /mon/chemin/long/vers/mes/programmes ~/prg
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

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

    ah .... donc ce genre de raccourci que je voulais faire depuis un répertoire de base n'est pas possible.
    Si. Il ne faut pas exécuter ton fichier mais sourcer ton fichier.
    ou
    Mais la réponse pratique à ta demande est souvent l'alias, comme l'a dit al1_24.

    [edit]Note : la commande cd toute seule revient dans ton $HOME. [/edit]

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    @gabriel21: merci pour le lien vers la doc

    @Flodelarab : source, je ne connaissais pas du tout

    @al1_24: un alias , est-ce un peu comme dans Windows quand on connecte un chemin réseau vers une lettre de disque ?
    Ce qui reviendrait ensuite à faire un cd monalias ?
    c'est bien ça ?

    ou directement monalias, puisque je vois que le cd est dans la chaîne de l'alias ?

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

Discussions similaires

  1. Execution d'une commande telnet dans un script sh
    Par Nospher dans le forum Linux
    Réponses: 17
    Dernier message: 23/08/2011, 15h30
  2. [AIX] commande SCP dans un script
    Par cristophe001 dans le forum AIX
    Réponses: 1
    Dernier message: 07/05/2007, 07h09
  3. [cURL] Lancer une commande curl dans un script php
    Par griese dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 22/03/2007, 10h52
  4. Réponses: 5
    Dernier message: 16/03/2007, 12h16
  5. Réponses: 1
    Dernier message: 14/03/2007, 15h56

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