Bash 中内置的“read”输入分隔符

Bash 中内置的“read”输入分隔符

鉴于这样的情况:

echo "Please enter your name"
read name    # user enters: john smith
echo $name   # prints: john

什么可能导致read只读取输入的第一个单词?是否有一个 shell 变量来控制它?

我在一个关于 Ask Ubuntu 的问题我想知道如何重现这种行为。

答案1

要接受用户输入的任何内容,请使用此表单

IFS= read -r name

这将接受前导/尾随/内部空格以及文字反斜杠。

相关内容