<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 29, 2016 at 11:16 AM, Kevin Lyda <span dir="ltr"><<a href="mailto:kevin@ie.suberic.net" target="_blank">kevin@ie.suberic.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><span class=""><div dir="ltr">On Fri, Jan 29, 2016 at 9:06 AM Dashamir Hoxha <<a href="mailto:dashohoxha@gmail.com" target="_blank">dashohoxha@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>However the history of commands does not work (getting the previous command with the arrow-up).<br></div><div>Also I don't see how to use autocompletion. Any ideas?</div></div></blockquote><div><br></div></span><div>If you want history and completion, "read -e" won't work for you. It only uses readline defaults with no knobs for you to set to configure it to do what you want (set a history file, do completion, etc).</div><div><br></div><div>I have no idea why you want to do this since your shell already has completion. Not sure of the win here.</div></div></div></blockquote><div><br></div><div>I want to ask user for the passphrase only once, save it in a variable, and then enter an infinite loop of asking user what to do and then do it. Otherwise the passphase would have to be given each time that user wants to do something.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>But if you really want to do it, the tool you'll want to use in rlwrap. It's not a standard package, but it does what you want and it's not like pass and your tool don't already depend on some non-posix shell stuff already.</div></div></div></blockquote><div><br></div><div>Thanks. It works:</div><div><a href="https://github.com/dashohoxha/simple-password-store/commit/d62fd072afc8073e0b40f451f05a62e87377f659#diff-20469e866edf746987e996bebede7bb5L480">https://github.com/dashohoxha/simple-password-store/commit/d62fd072afc8073e0b40f451f05a62e87377f659#diff-20469e866edf746987e996bebede7bb5L480</a><br></div><div><br></div><div>I had to some kind of tricks because `read` is an internal bash command,</div><div>so this does not work: `<span style="color:rgb(24,54,145);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.8px;white-space:pre-wrap;background-color:rgb(234,255,234)">rlwrap </span><span style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.8px;white-space:pre-wrap;background-color:rgb(234,255,234)"><font color="#333333">read command</font></span>`. I had to do `command=$(<span style="color:rgb(24,54,145);font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.8px;white-space:pre-wrap;background-color:rgb(234,255,234)">rlwrap </span><span style="font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:12px;line-height:16.8px;white-space:pre-wrap;background-color:rgb(234,255,234)"><font color="#333333">read.sh)</font></span>`</div><div>where `read.sh` is just: `read line; echo $line`.</div><div><br></div><div>I also tried something like this: `rlwrap bash -c 'read command' `</div><div>but then I couldn't get the value of $command.</div><div>Can you think of any other way, more simple than the trick above?</div><div><br></div><div>Dashamir</div><div><br></div></div></div></div>