如何在Bash中读取-p中断行(添加换行符)?

时间:2012-10-05 07:24:30

标签: linux bash shell newline

如何使用\n中的read -p分隔一行?

例如

read -p "Please Enter the percent [30 between 100]\n The value is  Default = 80   :" scale_percent

我希望\n打破一条线,但它不起作用。

echo我使用-e,它会打破一行。

所以我试过

read -ep 

打破这条线,但没有破线。我怎么能这样做?

你能不能在互联网上给我一本关于read -p的好手册,因为在没有令人困惑的描述的情况下我找不到一个好的手册。

1 个答案:

答案 0 :(得分:5)

你可以这样做:

read -p $'Please Enter the percent [30 between 100]\x0a The value is  Default = 80   :' scale_percent

我们使用上面的语法来插入十六进制值,我们插入\x0a这是换行符的十六进制值( LF )。您可以使用上面与echo相同的语法来生成新行,例如:

echo $'One line\x0asecond line'

这是 BASH 2 的一个特性,记录为here$''用于翻译其中的所有转义序列以进行ascii转录。因此,我们可以通过以下方式获得上述示例的相同结果:

echo $'One line\nsecond line'