显示文件名菜单并让用户通过输入数字来选择文件

1 ls shell menu

我创建了一个脚本,允许用户通过复制和粘贴该文件来选择该文件。然后对该文件执行 grep。我想知道是否可以在目录中的每个文件前面放一个数字,这样用户只需键入一个数字。

我尝试过的:

  • 不要 ls -lls | wc -l然后让用户选择相应的文件编号,没有运气。
  • 接下来,ls -i, 尝试使用该文件的节点号执行 grep ,但不走运。

man*_*ork 10

bashksh并且zsh可以使用select该关键字:

select file in *; do
  grep 'something' "$file"
done
Run Code Online (Sandbox Code Playgroud)

要在select显示列表时给出使用说明,请$PS3 运行设置select,例如:

PS3='number of file to grep in, ^C to exit: '
Run Code Online (Sandbox Code Playgroud)