我一直在阅读大量关于 bash 脚本和程序测试的内容,但我仍然无法使这段代码工作。
基本上它是一个简单的程序,要求用户输入north
east
south
或west
。我启动程序,然后它立即要求输入。我只是无法让 bash 脚本给它任何输入。我尝试使用echo
and 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 脚本的尝试:
#!/bin/bash
/Desktop/c
./ex17 echo 'w'