我正在寻找一种方法来从我的 shell 脚本中检查脚本特定完成是否已由用户使用初始化complete -F ...
我希望此检查打印出有关如何初始化完成的建议,例如:
Warning: Auto completion is not initialized. Please run : source ....; complete -F ...
问题是在子shell中运行的脚本没有关于用户工作的父shell的“完整”环境的信息。
所以complete -p| grep my-script-name
永远不要返回任何结果。
用户应该运行“源代码”和“完成”命令或手动将它们添加到他的 .bashrc 中,因为我们正在一个无法访问 bash 完成系统目录的服务器上工作。
或者,如果您知道从脚本中初始化(而不仅仅是检查)自动完成的方法,我会很乐意接受它。