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

相关推荐
码农学院2 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
爱写代码的森8 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
大耳朵-小飞象11 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技11 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++12 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室13 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影13 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
神奇霸王龙14 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
Web极客码14 小时前
WordPress SEO优化:提升网站排名的13个关键步骤
服务器·seo·wordpress
生活爱好者!14 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器