Go into a tramp buffer, then execute:
(async-shell-command "echo -n \"Type something:\"; read line; echo line=$line" nil nil)

Your command will print:

Type something:line=

and terminate.
It should have printed

Type something:

waited for your keyboard input and print:

line=<your keyboard input>



2014-02-05 Michael Albinus <michael.albinus@gmx.de>:
Sylvain Chouleur <sylvain.chouleur@gmail.com> writes:

> That said, we still have the original issue of the bz I raised:
> by executing tramp shell commands in this way:
> exec <<'EOF' bash
> <commands>
> EOF
>
> we loose the possibility to send user inputs to bash, so commands like
> 'read' will not work.
> That's why I proposed the two approaches to handle your problem (long
> line arguments) and my problem (bash stdin)

Please give me a concrete Lisp example how you invoke this. Otherwise I
cannot debug; my examples do work.

Alternatively, tell me what you have entered, starting with "M-x".

Best regards, Michael.