[C] Stocker les paths lus dans env Unix

Fermé
Rito - 1 févr. 2010 à 10:35
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 1 févr. 2010 à 14:47
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
1 févr. 2010 à 11:58
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
1 févr. 2010 à 12:07
Salut,

T'es plus rapide ;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
1 févr. 2010 à 10:39
Salut,

 env | grep '\bPATH'

;-))
0
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
1 févr. 2010 à 12:04
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
Help ^^
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
1 févr. 2010 à 12:50
Les réponses ne te conviennent pas ???
0
Merci les amis, dsl jai beugge dans le message =D
0
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
1 févr. 2010 à 13:30
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
1 févr. 2010 à 14:47
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