我需要通过管道它运行一个脚本bash
用wget
(而不是直接使用bash运行它)。
$ wget -O - http://example.com/my-script.sh | bash
它不起作用,因为我的脚本中包含read
语句。由于某些原因,在进行bash传输时这些命令不起作用:
# Piping to bash works in general
$ echo 'hi'
hi
$ echo "echo 'hi'" | bash
hi
# `read` works directly
$ read -p "input: " var
input: <prompt>
# But not when piping - returns immediately
$ echo 'read -p "input: " var' | bash
$
而不是提示input:
和要求一个值,而是由read传递了read命令bash
。
有谁知道我可以通过管道read
传递脚本到bash
吗?