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 With 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 : > Sylvain Chouleur 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. >