最近我一直在使用inputrc,我认为将Ctrl-Up箭头(我的机器上的^[[1;5A
)绑定到命令cd ..
所以我修改了inputrc以包含"\e[1;5A": "cd ..\n"
现在我想要Ctrl-Down箭头来执行以下操作:
如果当前目录中只有一个目录:cd进入它。 我可以通过以下方式检查是否只有一个目录:
if [ $(ls -a --ignore . --ignore .. | wc -l) -eq 1 ]
如果有多个目录:执行“TAB TAB”
如果只有一行目录,请转到层次结构的底部
例如在文件结构中
a
|-------b--------d
|
|-------c--------e--------f----------i--------j-------k
|-----g
|-----h
假设a
到j
是目录而a
是b/c
的父,c is the parent of
e`等...
假设我从a
开始,
按住ctrl-down将双击TAB并显示b
和c
输入cd a/c
并再次按下ctr-down将使我的命令cd a/c/e
(就像标签的完整方式一样)
再次按下ctrl-down将显示f
,g
,h
输入f
所以我的命令现在是cd a/c/e/f
并按下ctrl-down
现在将发出我的命令cd a/c/e/f/i/j/k
我知道我必须制作一个脚本并将脚本绑定到ctrl-down箭头。我的问题是如何将一些内容附加到我正在键入的当前命令中,并根据我输入的内容检查下一个目录而不需要执行该命令?