6

我怎么能用\nin换行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在互联网上给我一本很好的手册,因为我找不到一个没有混乱描述的好手册。

4

1 回答 1

7

你可以这样做:

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的一个特性,在此处记录,$''用于翻译其中的所有转义序列以进行 ascii 转录。所以我们可以得到与上面例子相同的结果,这样:

echo $'One line\nsecond line'
于 2012-10-05T07:33:49.567 回答