without seeing you actual code it's hard to debug, could you share the code snippet for
you shell-command and loop? From what you write: remember to close everything you want
to printf with '\n', bc the shell is looking for this before it prints anything.
It should look like this:
while (run) {
printf("in the loop\n");
xtimer_sleep(1);
}
If you forget the '\n' the shell will buffer the string.
If I remember correctly stdio in RIOT is not buffering at all, but pyterm is buffering until \n. You might solve the issue by passing an additional flag to pyterm or using a different terminal.