Yes, that is the problem I'm trying to explain since the beginning, I'm please we have finally agreed on what was the issue :)

I didn't found any other solution than to call the shell like this:
bash <file>

With <file> containing the commands. With that type of call, bash keeps reading STDIN for user inputs. That's why I've introduced the process substitution solution


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

> 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.

Well, the problem is that the heredoc construct occupies STDIN, which is
not available for the shell command then. I will check what I can do.

Best regards, Michael.