Bash(Mint):如何在PS3提示符下添加换行符?

时间:2016-03-03 10:08:38

标签: linux bash

我正在尝试这个愚蠢的代码

PS3="Choose 1..10\n0 to exit";

但是bash按字面意思显示\n,而不是新行。

我试图在bash脚本中使用它来选择内置的'选择提示。

2 个答案:

答案 0 :(得分:6)

$ PS3="Choose 1..10"$'\n'"0 to exit: "
$ select choice in $(seq 10)
> do
> [[ $choice -eq 0 ]] && break
> #do stuff for choice 1 to 10
> done
 1) 1
 2) 2
 3) 3
 4) 4
 5) 5
 6) 6
 7) 7
 8) 8
 9) 9
10) 10
Choose 1..10
0 to exit: 0
$

只需要额外的$'\n' wrt bash上下文,它插入PS3环境变量之间。它与我们为IFS

设置的方式类似

答案 1 :(得分:3)

您还可以直接在字符串中嵌入换行符:

PS3="Choose 1..10
0 to exit: "