如何使用自动完成功能为 systemctl 创建别名

teh*_*nst 7 bash alias auto-completion

我试过

alias sct='systemctl'
complete -F _systemctl sct
Run Code Online (Sandbox Code Playgroud)

但是直到我在会话中运行原始命令 systemctl 后才找到函数 _systemctl 。该函数动态或以某种方式加载,并且内部包含许多其他相同的函数。

操作系统 - Ubuntu 20.04

小智 8

创建一个名为/etc/bash_completion.d/systemctl

if [[ -r /usr/share/bash-completion/completions/systemctl ]]; then
    . /usr/share/bash-completion/completions/systemctl && complete -F _systemctl systemctl sct
fi
Run Code Online (Sandbox Code Playgroud)

您可以通过 source 重新启动 bash-completion. /etc/bash_completion