Ajout affichage des variables
This commit is contained in:
parent
feb019d000
commit
af2081caaf
2 changed files with 25 additions and 3 deletions
|
@ -19,10 +19,31 @@ void echo(char *args)
|
|||
char tmp = *args;
|
||||
int i = 0;
|
||||
while (tmp != '\0')
|
||||
{
|
||||
if (tmp == '$')
|
||||
{
|
||||
i++;
|
||||
i += get_var((args+i), i);
|
||||
}
|
||||
else
|
||||
{
|
||||
putchar(tmp);
|
||||
i++;
|
||||
}
|
||||
|
||||
tmp = *(args + i);
|
||||
}
|
||||
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 echo(char *args);
|
||||
int get_var(char *str, int i);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue