Ajout affichage des variables
This commit is contained in:
parent
feb019d000
commit
af2081caaf
2 changed files with 25 additions and 3 deletions
|
@ -20,9 +20,30 @@ void echo(char *args)
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (tmp != '\0')
|
while (tmp != '\0')
|
||||||
{
|
{
|
||||||
putchar(tmp);
|
if (tmp == '$')
|
||||||
i++;
|
{
|
||||||
tmp = *(args + i);
|
i++;
|
||||||
|
i += get_var((args+i), i);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
putchar(tmp);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp = *(args + i);
|
||||||
}
|
}
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int get_var(char *str, int i)
|
||||||
|
{
|
||||||
|
char *tmp = calloc(strlen(str), sizeof(char));
|
||||||
|
strcpy(tmp, str);
|
||||||
|
char f = ' ';
|
||||||
|
char *token = strtok(tmp, &f);
|
||||||
|
printf("%s", getenv(token));
|
||||||
|
int ret = strlen(token);
|
||||||
|
free(tmp);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
|
@ -9,5 +9,6 @@
|
||||||
|
|
||||||
void usage();
|
void usage();
|
||||||
void echo(char *args);
|
void echo(char *args);
|
||||||
|
int get_var(char *str, int i);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue