Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2995 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [resulu]Changer de répertoire courant sans shell sur Gnu/Linux.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resulu]Changer de répertoire courant sans shell sur Gnu/Linux.

n°2267313
Profil sup​primé
Posté le 08-10-2015 à 13:29:28  answer
 

Bonjour,
 
Je voudrais savoir quel sont les conditions/prérequis pour changer de répertoire courant en dehors d'un quelconque shell.
 
Pour pourvoir en suite développer ma commande "change_directory".
 
Merci pour votre intérêt.

Message cité 1 fois
Message édité par Profil supprimé le 09-10-2015 à 06:26:04
mood
Publicité
Posté le 08-10-2015 à 13:29:28  profilanswer
 

n°2267340
tpierron
Posté le 08-10-2015 à 16:39:04  profilanswer
 


Tu veux faire une commande qui change le répertoire courant sur un système Unix ? Ça ne peut pas fonctionner. Tu ne peux changer ce répertoire que dans le processus courant, qui pourra être hérité par ses descendants. Dans un shell, la commande "cd" est interne au processus, il n'y a pas de commande externe.

n°2267349
Profil sup​primé
Posté le 08-10-2015 à 17:33:39  answer
 

J'ai lu l'inverse et j'ai confiance en ma source.
 
C'est a dire qu'on ne peut changer le répertoire courant du processus courant.
par contre je pense qu'au moment de l'héritage il est possible de changer de répertoire courant dans le nouveau processus.
Mais je m'en moque en fait je vais créer mon evironnement, je voudrais le faire proprement.
 
Genre int main ( **char envp[]) {}; mais à y penser je suis dans les nuages.
J'arrive pas à modéliser cette fonction.
 
Admettons, je fait un fork() j'hérite du répertoire courant comment ge change ?
 
ex je suis dans /hommes/sens/devel je lance mon premier processus, je veux aller dans /hommes/.
je fais fork(),  et y a des argument et des option à fork peu-être..
Je vais regarder.
Merci quand même pour ta réponse.

n°2267450
tpierron
Posté le 09-10-2015 à 19:03:50  profilanswer
 

Oui, tu peux changer le répertoire courant avec l'appel système chdir(), répertoire courant qui sera ensuite hérité par tous les processus fils. Cela dit, depuis un processus fils, tu ne pourras pas changer le répertoire du processus parent: c'est pour ça que dans un shell, la commande "cd" doit être interne.

n°2267459
Profil sup​primé
Posté le 09-10-2015 à 19:54:33  answer
 

tpierron a écrit :

Oui, tu peux changer le répertoire courant avec l'appel système chdir(), répertoire courant qui sera ensuite hérité par tous les processus fils. Cela dit, depuis un processus fils, tu ne pourras pas changer le répertoire du processus parent: c'est pour ça que dans un shell, la commande "cd" doit être interne.


 
Ca veut dire quoi au juste ?

n°2267463
tpierron
Posté le 09-10-2015 à 21:52:34  profilanswer
 


Bah quand tu dis :

Citation :

Pour pourvoir en suite développer ma commande "change_directory".


J'interprête que tu veuilles faire une commande (ie: exécutable) qui fait le boulot de la commande "cd" d'un shell. Et ça, ce n'est pas possible.

n°2267467
Profil sup​primé
Posté le 09-10-2015 à 23:19:04  answer
 

Je viens de le faire, je suis pas magicien.

n°2267468
Profil sup​primé
Posté le 09-10-2015 à 23:34:22  answer
 

Ah mais en fait j'ai pas écrit une commande "cd" j'ai écris un environnement dans lequel j'ai une builtin command cd comme dans un shell.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [resulu]Changer de répertoire courant sans shell sur Gnu/Linux.

 

Sujets relatifs
[Ada][Gnu/linux]Accéder à envp[] avec AdaProblème de migration du fichier .htpasswd de Linux a Windows.
[RESOLU]Gtkada Linux[SHELL/SED] Extraire un bout de chaine
Programme qui fonctionne via l'interpreteur mais pas via console linuxChanger couleur bouton selon variable
[Shell Linux] Recherche dans un fichier evoluéUtiliser un priphérique MIDI usb avec Ada sur Gnu/Linux.
Plus de sujets relatifs à : [resulu]Changer de répertoire courant sans shell sur Gnu/Linux.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR