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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  euh la commande cd (en shell) en appels systeme, ça donne quoi?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

euh la commande cd (en shell) en appels systeme, ça donne quoi?

n°235061
ddpforman
Posté le 26-10-2002 à 11:28:28  profilanswer
 

voila voila, je crois qu'il y a une équivalence avec chdir
mais quelqu'un à l'application complete de cette commande?

mood
Publicité
Posté le 26-10-2002 à 11:28:28  profilanswer
 

n°235062
kadreg
profil: Utilisateur
Posté le 26-10-2002 à 11:31:19  profilanswer
 

Citation :


CHDIR(2)           Manuel du programmeur Linux           CHDIR(2)
 
NOM
       chdir, fchdir - Changer le répertoire courant.
 
SYNOPSIS
       #include <unistd.h>
 
       int chdir(const char *path);
       int fchdir(int fd);
 
DESCRIPTION
       chdir  remplace  le  répertoire  courant par celui indiqué
       dans le chemin path.
 
       fchdir est identique à chdir, sauf que le répertoire cible
       est fourni sous forme de descripteur de fichier.
 
VALEUR RENVOYÉE
       chdir et fchdir renvoient 0 s'ils réussissent, ou -1 s'ils
       échouent, auquel cas errno contient le code d'erreur.
 
ERREURS
       Suivant le type de système de fichiers, plusieurs  erreurs
       peuvent être renvoyées, les plus courantes pour chdir sont
       les suivantes :
 
       EFAULT  path pointe  en  dehors  de  l'espace  d'adressage
               accessible.
 
       ENAMETOOLONG
               path est trop long.
 
       ENOENT  Le fichier n'existe pas.
 
       ENOMEM  Pas assez de mémoire pour le noyau.
 
       ENOTDIR Un  élément  du chemin d'accès n'est pas un réper­
               toire.
 
       EACCES  L'accès n'est  pas  autorisé  sur  un  élément  du
               chemin.
 
       ELOOP   path   contient   des  références  circulaires  (à
               travers un lien symbolique) EIO  Erreur  générique
               d'entrée/sortie.
 
       Les erreurs courantes pour fchdir sont :
 
       EBADF   fd n'est pas un descripteur de fichier valide.
 
       EACCES  Le répertoire ouvert sur fd n'autorise pas le par­
               cours.
 
CONFORMITÉ
       L'appel système chdir  est  compatible  avec  SVr4,  SVID,
       POSIX,  X/OPEN,  et  4.4BSD.   SVr4  décrit les conditions
       d'erreur supplémentaires EINTR, ENOLINK, et EMULTIHOP mais
       n'a pas d'erreur ENOMEM.  POSIX.1 ne contient pas d'erreur
       ENOMEM ni ELOOP.  X/OPEN ne decrit pas les erreurs EFAULT,
       ENOMEM ni EIO.
 
       L'appel système fchdir est compatible avec SVr4, 4.4BSD et
       X/OPEN.  SVr4 ajoute les conditions d'erreur  EIO,  EINTR,
       et ENOLINK.  X/OPEN ajoute EINTR et EIO.
 
VOIR AUSSI
       getcwd(3), chroot(2)
 
TRADUCTION
       Christophe Blaess, 1997.
 
Linux 2.0.30             10 Décembre 1997                       1

n°235063
ddpforman
Posté le 26-10-2002 à 11:34:26  profilanswer
 

ah déjà merci beaucoup :-)  
quelqu'un aurait déjà reprogrammer la commande cd?

n°235071
lorill
Posté le 26-10-2002 à 12:01:24  profilanswer
 

ddpforman a écrit a écrit :

ah déjà merci beaucoup :-)  
quelqu'un aurait déjà reprogrammer la commande cd?




Spas possible, c'est une commande interne au shell.

n°235076
ddpforman
Posté le 26-10-2002 à 12:17:54  profilanswer
 

non, la commande cd utilise "chdir"

n°235077
ddpforman
Posté le 26-10-2002 à 12:18:12  profilanswer
 

et "chdir" est un appel systeme alors que "cd" non

n°235078
kadreg
profil: Utilisateur
Posté le 26-10-2002 à 12:28:24  profilanswer
 

ddpforman a écrit a écrit :

non, la commande cd utilise "chdir"




 
Sauf que cd est pas un programme externe, mais une fonction du shell. Un cd dans le shell va changer le répertoire du process courant (ie le schell). Si c'est dans un programme externe, tu va changer le répertoire courant du programme, mais pas du shell qui a lancé ce programme, ce qui fait une belle jambe ;)

n°235079
ddpforman
Posté le 26-10-2002 à 12:40:19  profilanswer
 

ah oui et donc, y'a moyen de trouver l'implementation de cd avec chdir?

n°235080
kadreg
profil: Utilisateur
Posté le 26-10-2002 à 12:46:15  profilanswer
 

ddpforman a écrit a écrit :

ah oui et donc, y'a moyen de trouver l'implementation de cd avec chdir?




 
Dans bash 2.05b, fichier builtins/cd.def, fonction  
 

Code :
  1. static int
  2. change_to_directory (newdir, nolinks)
  3.      char *newdir;
  4.      int nolinks;


 
Mais cd fonctionne parceque on ne change pas de process courant.

n°235089
ddpforman
Posté le 26-10-2002 à 13:10:15  profilanswer
 

moi je recherche sous linux et avec le shell

mood
Publicité
Posté le 26-10-2002 à 13:10:15  profilanswer
 

n°235091
lorill
Posté le 26-10-2002 à 13:12:48  profilanswer
 

ddpforman a écrit a écrit :

moi je recherche sous linux et avec le shell




et il vient de te doner quoi, la ?

n°235101
ddpforman
Posté le 26-10-2002 à 14:08:31  profilanswer
 

kadreg a écrit a écrit :

 
 
Dans bash 2.05b, fichier builtins/cd.def, fonction  
 

Code :
  1. static int
  2. change_to_directory (newdir, nolinks)
  3.      char *newdir;
  4.      int nolinks;


 
Mais cd fonctionne parceque on ne change pas de process courant.




 
euh c'est sous linux bash 2.05b...?
excusez moi, je ne suis pas trés fort c pour ça que je demande de l'aide...
donc c le répertoire builtins?

n°235108
ddpforman
Posté le 26-10-2002 à 14:42:42  profilanswer
 

help

n°235109
kadreg
profil: Utilisateur
Posté le 26-10-2002 à 14:48:13  profilanswer
 

On va faire autrement. Pose la question telle qu'elle est écrite dans ton devoir, en disant c'est un devoir de quoi.

n°235117
ddpforman
Posté le 26-10-2002 à 15:05:08  profilanswer
 

non, c'est un projet à faire
et je dois reprogrammer un shell  
et je bloque sur le cd
il a dit qu'on devait reutiliser chdir


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  euh la commande cd (en shell) en appels systeme, ça donne quoi?

 

Sujets relatifs
Récupération curseur système en C#[MYSQL] Comment récupérer les ID de champs via une requête / commande
shell [ script ] [ find -exec ] avec un [ tar ~~~ ] SOSme rappelle plus de 2 commande tres simple en C
comment utiliser getcwd() ? en c, sous linux (shell)Commande PHP (sous Windows) pour afficher fréquence CPU...
Système **simple** de templatesCommande DOS
Plus de sujets relatifs à : euh la commande cd (en shell) en appels systeme, ça donne quoi?


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