【星海随笔】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后自动识别

相关推荐
音符犹如代码14 小时前
Docker 一键部署带有 TimescaleDB 插件的 PostgreSQL
java·运维·数据库·后端·docker·postgresql·容器
ofoxcoding14 小时前
2026 轻量模型 API 实测:GPT-5.5 Nano、Gemini 3.1 Flash、Haiku 4.5 延迟与成本横评
运维·gpt·ai
纽格立科技14 小时前
AI让广播过时,还是让广播稀缺?
大数据·服务器·人工智能·车载系统·信息与通信·传媒
蔡不菜和他的uU们14 小时前
使用acme.sh进行阿里云域名SSL证书申请与部署自动化
运维·阿里云
太行山有西瓜汁14 小时前
ESXi克隆虚拟机踩坑实录
运维
黎阳之光14 小时前
智慧环卫一体化管理:视频融合技术助力环卫作业与设施运维管控
运维
念恒1230614 小时前
库制作与原理---库的理解和加载(中)
linux·运维·服务器
宁静@星空14 小时前
009-Linux环境安装宝塔
linux·运维·服务器
蜡笔婧萱15 小时前
LInux---Web网站建立的实战演练(2)
linux·运维·服务器
剑神一笑15 小时前
Linux crontab 命令详解:定时任务的底层实现与实战技巧
linux·运维·chrome