让用户在 bash 中更改目录的交互式命令

让用户在 bash 中更改目录的交互式命令

我正在寻找一种基于 CURSES 的方法(bash,c,其实无所谓),让用户可以以与使用 Midnight Commander 大致相同的方式选择文件夹甚至文件。

我设想使用向上/向下键移动光标,使用 esc 键取消,然后按 Enter 键选择光标下的项目。如果该项目是文件,则返回该文件的完整路径;如果该项目是文件夹,则切换到该文件夹​​。

有谁知道存在这样的一个吗?

如果没有,我该如何编写一个?我主要是一名 Java 程序员,所以我可以使用 JavaCurses,但感觉有点矫枉过正。

答案1

您可以使用dialog用于--fselect选择文件和目录名称。

--fselect 文件路径高度宽度
fselect(文件选择)对话框显示一个文本输入窗口,您可以在其中输入文件名(或目录),其上方显示两个带有目录名和文件名的窗口。

但是,您应该注意,用于更改交互式 shell 目录的脚本必须被引用或位于函数中,因为更改目录的范围仅限于当前 shell。换句话说,当常规脚本退出时,cd其中执行的任何操作都会丢失。

相关内容