BASH:当读取用户输入时,Enter带来新行

时间:2012-05-10 14:23:16

标签: bash

我需要按照以下示例bash脚本执行以下操作:

echo -e "Enter name: \c"
read U_IP_NAME
echo -e "You said your name is : $U_IP_NAME"

这将输出到:

Enter name: Alok
You said your name is : Alok

但我希望它是:

You said your name is : Alok

有没有办法实现这个目标?

[解决方案由:mouviciel提供]

3 个答案:

答案 0 :(得分:12)

您想将光标向上移动一行。这是通过tput cuu1

实现的
echo -e "Enter name: \c"
read U_IP_NAME

tput cuu1

echo -e "Your said your name is : $U_IP_NAME"

man tputman terminfo的更多信息。

答案 1 :(得分:8)

read -p "Enter your uip-name: " U_IP_NAME

-p用于提示

答案 2 :(得分:0)

您可以尝试this syntax

U_IP_NAME = “$ {U_IP_NAME%\\ N}”