Я читал тонну о скриптах bash и тестировании программ, но я все еще не могу заставить этот код работать.
В принципе, это простая программа, которая запрашивает пользователя для любого из north
east
south
или west
. Я запускаю программу, затем сразу же запрашивает ввод. Я просто не могу получить bash script, чтобы дать ему какой-либо ввод. Я попытался использовать echo
и expect
.
Любая помощь приветствуется.
Вот функция, используемая для ввода игроков:
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;
}
И вот попытка в bash script:
#!/bin/bash
/Desktop/c
./ex17 echo 'w'