Przeczytałem wiele na temat skryptów i testów programu Bash, ale nadal nie mogę wykonać tego kodu.Jak wprowadzić dane wejściowe do programu C z bash?
Zasadniczo jest to prosty program, który prosi użytkownika o jedno z następujących: north
east
south
lub west
. Uruchomę program, a następnie natychmiast prosi o dane wejściowe. Po prostu nie mogę uzyskać skryptu bash, aby dać mu jakiekolwiek dane wejściowe. Próbowałem użyć echo
i expect
.
Każda pomoc jest doceniana.
Oto funkcja używana do pobierania wejście graczy:
int process_input(Map *game)
{
printf("\n> ");
char ch = getchar();
char a = getchar(); //eat enter
int damage = rand() % 4;
switch(ch) {
case -1:
printf("you suck\n");
return 0;
break;
case 'n':
game->proto.move(game, NORTH);
break;
case 's':
game->_(move)(game, SOUTH);
break;
case 'e':
game->_(move)(game, EAST);
break;
case 'w':
game->_(move)(game, WEST);
break;
case 'a':
game->_(attack)(game, damage);
break;
case 'l':
printf("You can go:\n");
if(game->location->north) printf("NORTH\n");
if(game->location->south) printf("SOUTH\n");
if(game->location->east) printf("EAST\n");
if(game->location->west) printf("WEST\n");
break;
default:
printf("Whats next?", ch);
}
return 1;
}
A oto próba skryptu bash:
#!/bin/bash
/Desktop/c
./ex17 echo 'w'
Co próbujesz zrobić? Utwórz program C lub skrypt bash? – wallyk
czy próbujesz wysłać dane wejściowe do programu 'c 'za pomocą' skryptu bash'? – abasu
Naprawdę nie rozumiem, co chcesz/zapytaj, i wygląda na to, że nie jestem sam. – zmo