ฉันต้องการเรียกใช้สคริปต์โดยการไพพ์สคริปต์ผ่านbash
ด้วยwget
(แทนที่จะรันสคริปต์โดยตรงด้วยการทุบตี)
$ wget -O - http://example.com/my-script.sh | bash
มันไม่ทำงานเพราะสคริปต์ของฉันมีread
ข้อความอยู่ ด้วยเหตุผลบางอย่างสิ่งเหล่านี้ใช้ไม่ได้เมื่อไปป์เพื่อทุบตี:
# 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:
bash
ไม่มีใครรู้ว่าฉันสามารถท่อสคริปต์ที่มีread
การbash
?