【发布时间】:2016-08-04 08:45:44
【问题描述】:
我想像这样运行一个 shell 脚本 (POSIX)。
#!/bin/sh
# this is a.sh
echo your age?
read age
echo "You are $age."
如果这是通过标准输入扔到/bin/sh
cat a.sh | /bin/sh -s
那么问题就被跳过了。
我该如何提问?
【问题讨论】:
-
有没有理由你以这种方式运行它而不是
/bin/sh a.sh?问题是a.sh从对/bin/sh的调用继承了它的标准输入,/bin/sh的标准输入是a.sh。/bin/sh读取第一行和第二行,但您的read语句读取第三行。由于没有更多输入供/bin/sh读取,因此退出。