如果我调用这样的脚本
echo "some text" | myscript
我如何捕获"某些文字"在脚本中使用。在这种情况下,可以将其分配给变量。
我一直在Google上搜索,但我认为我没有使用正确的术语来查找我正在寻找的内容。
答案 0 :(得分:3)
上一个命令(在您的情况下为echo
)中的所有数据都将在管道中下一个命令的STDIN上可用。只需使用read
内置来捕获它。这是一种使用`read:
echo "some text" | { IFS= read -r line; echo "line=[$line]"; }
line=[some text]
或者您甚至可以使用默认的REPLY
变量:
echo "some text" | { IFS= read -r; echo "line=[$REPLY]"; }
line=[some text]