【星海随笔】Linux自动补全行为

大多数Ubuntu系统中,bash-completion包应该已经预装了

如果没有可以手动安装

bash 复制代码
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:是要应用自动补全的命令。

要使更改立即生效,你可以运行以下命令:

bash 复制代码
source ~/.bashrc

自定义服务

bash 复制代码
/etc/systemd/system/my-service.service

在这个文件中,添加以下内容:

bash 复制代码
[Unit]
Description=My Custom Service

[Service]
Type=oneshot
ExecStart=/path/to/your/script

[Install]
WantedBy=multi-user.target
bash 复制代码
sudo systemctl enable my-service.service
sudo systemctl start my-service.service

确保bash-completion在~/.bashrc文件中加载

bash 复制代码
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后自动识别

相关推荐
AI风老师7 分钟前
2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接
linux·运维·服务器·ssh
枫叶落雨22214 分钟前
下载的旧版的jenkins,为什么没有旧版的插件
运维·jenkins
网络小白不怕黑33 分钟前
Python Socket编程:实现简单的客户端-服务器通信
服务器·网络·python
PatrickYao042233 分钟前
想要建站但没有服务器?雨云RCA,免服务器即可搭建完整网站!!!
运维·服务器·alist·云应用·无服务器部署
独行soc1 小时前
2025年渗透测试面试题总结-百度面经(题目+回答)
运维·开发语言·经验分享·学习·面试·渗透测试·php
艾伦_耶格宇1 小时前
【NGINX】 -10 keepalived + nginx + httpd 实现的双机热备+ 负载均衡
运维·nginx·负载均衡
选与握1 小时前
ubuntu工控机固定设备usb串口号
linux·运维·ubuntu
休息一下接着来2 小时前
C++ I/O多路复用
linux·开发语言·c++
舰长1152 小时前
ubuntu 安装mq
linux·运维·ubuntu
不是吧这都有重名2 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端