I’m new to Bash scripting, so please be gentle.
I’m connected to a Ubuntu server via SSH (PuTTY) and when I run this command, I expect the bash script that downloads and executes to allow user input and then echo that input. It seems to just write out the echo label for the input request and terminate.
wget -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh | bash
Any clue what I might be doing wrong?
UPDATE: This bash command does exactly what I wanted
bash <(wget -q -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh)
Jonathan already mentioned:
bashtakes its stdin from the pipe.And therefore you cannot pipe the script into
bashwhen you want to interactively input something. But you could use the process substitution feature ofbash(assumed your login shell is abash):