【星海随笔】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 分钟前
堡垒机jumpserver
运维·sql
开开心心就好14 分钟前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
D11_14 分钟前
[特殊字符]️ 5379工具箱 - 全部网站链接汇总
服务器·百度·阿里云·typescript·编辑器
花间相见15 分钟前
【AI开发】—— Ubuntu系统使用nvm管理Node.js多版本,版本切换一键搞定(实操完整版)
linux·ubuntu·node.js
PPPPPaPeR.23 分钟前
从零实现一个简易 Shell:理解 Linux 进程与命令执行
linux·开发语言·c++
Byte不洛1 小时前
Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解
linux·多线程·并发编程·pthread·生产者消费者模型
小Pawn爷1 小时前
13.virtualbox安装ubuntu
linux·运维·ubuntu
乾元1 小时前
暗网情报:自动化采集与情感分析在威胁狩猎中的应用
运维·网络·人工智能·深度学习·安全·架构·自动化
VekiSon1 小时前
Linux内核驱动——Ubuntu 网络启动环境配置与操作
linux·arm开发·嵌入式硬件·ubuntu
YYYing.1 小时前
【Linux/C++进阶篇(二) 】超详解自动化构建 —— 日常开发中的“脚本” :Makefile/CMake
linux·c++·经验分享·ubuntu