Deplacement d arborescence dans script bash
Fermé
steph
-
12 mai 2005 à 16:49
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 12 mai 2005 à 17:31
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 12 mai 2005 à 17:31
Bonjour ceci est tres important c est pour un projet en master info et g un dernier prob ke j arrive pas a regler :
je lance un script bash, dans ce script je fais cd yyyy
ca va dedans, mais des que je sors je retourne dans le bash parent et je ne suis plus dans yyyy.
Svp est il possible de faire en sorte de retourner dans le bash pere en etant bien dans yyyy.
Mercienormement
je lance un script bash, dans ce script je fais cd yyyy
ca va dedans, mais des que je sors je retourne dans le bash parent et je ne suis plus dans yyyy.
Svp est il possible de faire en sorte de retourner dans le bash pere en etant bien dans yyyy.
Mercienormement
A voir également:
- Deplacement d arborescence dans script bash
- Script vidéo youtube - Guide
- Historique déplacement google - Guide
- Mas script - Accueil - Windows
- Déplacer une colonne dans excel - Guide
- Ghost script - Télécharger - Polices de caractères
5 réponses
je te conseille de chercher un autre moyen.
un exemple qui marche (même si pas très joli), dans le shell fils tu écris le chemin dans un fichier et le père va lire le contenu du fichier quand il reprend la main
un exemple qui marche (même si pas très joli), dans le shell fils tu écris le chemin dans un fichier et le père va lire le contenu du fichier quand il reprend la main
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
12 mai 2005 à 17:06
12 mai 2005 à 17:06
C'est comme avec les variables environements qui sont perdues apres retour du script. La seule facon que je connaisse pour contourner ce probleme est de lancer le script avec un "." et un blanc " " devant, c.-a-d. il faut faire:
ou
(si au debut on est dans le meme repertoire que le script).
Si on fait comme ca les variables modifiees du script sont reportees a la shell actuelle (ou au script au dessus). Un "cd /autre_repertoire" restera aussi valable.
Par contre si on fait de facon standard avec:
ou
ni les variables sont reportees ni le cd marche.
J'espere que ca te permet de resoudre ton pb.
. /chemin/script.sh
ou
. ./script.sh
(si au debut on est dans le meme repertoire que le script).
Si on fait comme ca les variables modifiees du script sont reportees a la shell actuelle (ou au script au dessus). Un "cd /autre_repertoire" restera aussi valable.
Par contre si on fait de facon standard avec:
/chemin/script.sh
ou
./script.sh
ni les variables sont reportees ni le cd marche.
J'espere que ca te permet de resoudre ton pb.
Oui mais ca ira pas car en fait je fais une sorte de nfs, et il fo ke les commandes soient transparentes.
Donc le mec tape cd yyyy,
ca va dans le script fils qui s appele cd.sh (defini ac un alias)
Donc le fichier fils se retrouve avec un endroit ou aller.
Monbut est que le fils y aille et que le bash pere n est rien vu du tout c est mega important.
Donc le mec tape cd yyyy,
ca va dans le script fils qui s appele cd.sh (defini ac un alias)
Donc le fichier fils se retrouve avec un endroit ou aller.
Monbut est que le fils y aille et que le bash pere n est rien vu du tout c est mega important.
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
12 mai 2005 à 17:11
12 mai 2005 à 17:11
Si tu fais un alias:
ca va marcher si "cd.sh" est dans le PATH.
Par contre avec un alias on peut faire directement le cd donc pas besoin d'un script.
alias mon_cd='. cd.sh'
ca va marcher si "cd.sh" est dans le PATH.
Par contre avec un alias on peut faire directement le cd donc pas besoin d'un script.
Ben si tu veux mon cd.sh fé plein d autre choses dedans.
Par conte puis je faire?
alias cd=. /chemin/cd.sh
et dans mon cd.sh pour contourner l alias je fais un
cd --noprofile -c chem
et en sortant d un cd je me trouve dans chem????
Si c est bon ca serait genial.
Par conte puis je faire?
alias cd=. /chemin/cd.sh
et dans mon cd.sh pour contourner l alias je fais un
cd --noprofile -c chem
et en sortant d un cd je me trouve dans chem????
Si c est bon ca serait genial.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
501
12 mai 2005 à 17:31
12 mai 2005 à 17:31
alias cd=. /chemin/cd.sh
Oui, absolument mais plutot avec les guillemets (surtout pour le caractere blanc!):
Par contre je ne sais pas pour les options "--noprofile -c" mais si ton probleme est que "cd" est un alias et tu souhaites l'appeler sans alias, dans ce cas tu peux faire
Le "\" devant une commande quelconque evite l'utilisation d'un alias avec le meme nom.
Oui, absolument mais plutot avec les guillemets (surtout pour le caractere blanc!):
alias cd='. /chemin/cd.sh'
Par contre je ne sais pas pour les options "--noprofile -c" mais si ton probleme est que "cd" est un alias et tu souhaites l'appeler sans alias, dans ce cas tu peux faire
\cd /chemin
Le "\" devant une commande quelconque evite l'utilisation d'un alias avec le meme nom.