Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在shell脚本中为多行变量添加行号前缀?_Shell_Unix_Sh - Fatal编程技术网

如何在shell脚本中为多行变量添加行号前缀?

如何在shell脚本中为多行变量添加行号前缀?,shell,unix,sh,Shell,Unix,Sh,我想显示shell脚本(#!/bin/sh)中的编号菜单。目前我使用 echo "choice1 choice2 choice3 choice4 " 输出菜单。现在,我想在每一行中添加一个数字前缀,结果如下所示: 1) choice1 2) choice2 3) choice3 4) choice4 ... 我如何做到这一点,而不必手动为每一行添加数字前缀?我想我想逐行迭代变量,并连接行号并将其输出到新变量。如果您正在使用bash,我建议使用select内置函数来执行此类任务 以下是。选择可

我想显示shell脚本(#!/bin/sh)中的编号菜单。目前我使用

echo "choice1
choice2
choice3
choice4
"
输出菜单。现在,我想在每一行中添加一个数字前缀,结果如下所示:

1) choice1
2) choice2
3) choice3
4) choice4
...

我如何做到这一点,而不必手动为每一行添加数字前缀?我想我想逐行迭代变量,并连接行号并将其输出到新变量。

如果您正在使用
bash
,我建议使用
select
内置函数来执行此类任务


以下是。

选择可能是一种方法,但您也可以这样做:

echo "$string" | nl -ba -s') '