[C] Stocker les paths lus dans env Unix

Rito -  
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,

voila tout est dans le sujet, je souhaite, a travers la commande env, lire et recuperer une ligne ou sont sotckes tous les paths a la suite du genre :
PATH=/bin/:/usr/bin:/sbin/: Etc etc

Merci de votre precieuse aide.

8 réponses

dubcek Messages postés 19021 Statut Contributeur 5 640
 
hello
$ cat x4.c
#include <stdio.h>
#include <stdlib.h>

main()
{
	char * path;
	path=getenv("PATH");
	printf("%s\n", path);
}
$ 
$ make x4
cc     x4.c   -o x4
$ ./x4
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$ 
1
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

T'es plus rapide ;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

 env | grep '\bPATH'

;-))
0
Rito
 
Salut, nerci de ta rapidite, mais j ai oublie de preciser ma reponse en fait :)

En langage C, pour un projet a rendre (mini shell), je dois lire dans env la variable d'environnement PATH pour pouvoir par la suite tester mes commandes ecrites dans le buff.

Voila, je pense avoir ete plus explicite
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

#include <stdio.h>
#include <stdlib.h>

int main ()
{
  char * Path;
  Path = getenv("PATH");
  if (Path!=NULL)
    printf ("The current path is: %s",Path);
  return EXIT_SUCCESS;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rito
 
Help ^^
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Les réponses ne te conviennent pas ???
0
Rito
 
Merci les amis, dsl jai beugge dans le message =D
0
Rito
 
Arf, je viens de m apercevoir que dans le sujet on a pas le droit au getenv mdr.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
0
dubcek Messages postés 19021 Statut Contributeur 5 640
 
sans getenv
$ cat x4.c
#include <unistd.h>
#include <string.h>
#include <stdio.h>

extern char ** environ;

main()
{
	int i=0;
	while(environ[i])
	{
		if(!strncmp(environ[i],"PATH",4))
			printf("%s\n", environ[i]);
		i++;
	}
}
$ make x4
cc     x4.c   -o x4
$ ./x4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$ 
0