[C] Stocker les paths lus dans env Unix

Rito -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

T'es plus rapide ;-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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