大多数Ubuntu系统中,bash-completion包应该已经预装了
如果没有可以手动安装
sudo apt-get install bash-completion
TAB
在bash shell中,complete命令用于自定义命令行自动补全的行为。
在这个文件末尾添加 ~/.bashrc
complete -F _known_hosts hostname
这行命令的作用是告诉bash shell,当用户在命令行中输入hostname命令时,使用_known_hosts函数来生成自动补全的候选列表。
complete:是bash的一个内置命令,用于设置命令行自动补全。
-F:表示使用后面指定的函数来生成补全列表。
_known_hosts:是bash的一个内置函数,它读取/etc/hosts文件中的主机名,用于自动补全。
hostname:是要应用自动补全的命令。
要使更改立即生效,你可以运行以下命令:
source ~/.bashrc
自定义服务
/etc/systemd/system/my-service.service
在这个文件中,添加以下内容:
[Unit]
Description=My Custom Service
[Service]
Type=oneshot
ExecStart=/path/to/your/script
[Install]
WantedBy=multi-user.target
sudo systemctl enable my-service.service
sudo systemctl start my-service.service
确保bash-completion在~/.bashrc文件中加载
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
重启你的终端或运行source ~/.bashrc来重新加载配置。
尝试输入systemctl start my-service并按下tab键
bin/sbin
在bin 或者 sbin下写一个脚本,附加执行权限。
tab后自动识别