예제 #1
0
int main()
{
	while(1) {
		inviteCommande();
		lireCommande();
	}	

	free(commande);
	int i;
	for(i=0; i < nbArg; i++){
		free(commandeParse[i]);
	}
	free(commandeParse);
	return 0;
}
예제 #2
0
int main(char* argv[])
{
	int i, j;
	char* c;
	char** tabc;
	char k[30], user[150],dir[50];
	int a=-1;
	struct passwd *p= getpwuid(getuid());
	gethostname(k, 30);
	strcpy(user, p->pw_name);
	strcat(user, "@");
	strcat(user, k);
	strcat(user, ": ");
	while(a!=0)
	{
		getcwd(dir, 50);
		i=strlen(dir);
		while(dir[i]!='/') i--;
		j=i;
		do{
			j++;
			dir[j-i-1]=dir[j];
		}while(dir[j]!='\0');
		printf("%s%s> My shell:", user, dir);
		c=lireCommande();
		if(c==NULL) {printf("\n"); a=0;}
		else {tabc=splitCommande(c);
		ouvrir(tabc);
		
		free(c);
		for(i=0;i<10;i++)
			free(tabc[i]);
		free(tabc);
		}
	}
}