(请帮我调整标题和标签。)
当我跑步时,connmanctl
我得到一个不同的提示,
enrico:~$ connmanctl
connmanctl>
并且可以使用不同的命令,例如services
, technologies
, connect
, ...
我想知道这东西是怎么运作的。
我知道,一般来说,更改提示可能只是更改变量的问题PS1
。但是,仅此一项(阅读“命令connmanctl
更改PS1
并返回)对命令行的功能根本没有任何影响(我仍将处于同一bash
进程中)。
实际上,可用命令已更改的事实在我看来就像connmanctl
提示符一直在运行的证明connmanctl>
,并且在运行时connmanctl
,while
输入了一个带有语句的循环read
,然后是一堆命令处理输入。
在我想象的后一种情况下,甚至不需要更改PS1
,因为这connmanctl>
条线可以简单地通过echo -n "connmanctl> "
.
这种好奇心背后的原因是我正在尝试为connmanctl
. 我已经写好了,它按预期工作,除了我不知道如何正确设置自动完成功能,我认为为了这样做,我首先需要了解什么是正确的方法来编写交互式外壳脚本。