之前自己实现一个简单shell 的时候,想要实现命令行自动补全功能,于是上网查了查资料,发现多数都提到了

readline( ) 库,经过仔了解后,发现其实bash 的底层实现也是调用了这个库,我的系统是 fedora 21 并没有安装这个库,且man page 中也没有相关信息,(Q:bash 调用的谁呢?)不管那末多,先无脑安转吧,边安转边看情况吧(把我害惨了。。。。。。)

首先平直觉 yum install readline

但是得到了这样的信息:

提示我readline软件包已经安装。。。。。。。但是/usr/include下根本没有<readline.h>这个库好吗?于是又去查了查资料,

发现需要安装libreadline 但是由于版本问题又折腾了半天。

redhat 系列下这个软件包叫  readline-devel     ubuntu 下叫readline-dev    细分又分为libreadline5-dev   和 libreadline6-dev

于是安装yum install readline-devel  成功

在/usr/include 下已经有了<readline>

开始引用头文件

如图已经引用OK ,开始编译吧,迫不及待了。。。。。。。。。。。

按这个库已经花费一天半时间

这是什么鬼,是不是Makefile 有问题? 赶紧上Makefile\

我已经链接了readline 这样?????????????????????????????????

于是有开始查资料发现了这个

ldconfig -p | grep readline

这是一个库文件所以需要查看一下是否有这个库,如果是一个动态库那么就需要在链接的时候将这个动态库加入。

发现这就是一个动态库(不幸被我猜中)

然后只要加上这个库OK

   然后make OK !

我的my_shell 已经有自动补全功能了。

来源:http://blog.csdn.net/zmrlinux/article/details/47052797

readline( )库的安装和使用,实现命令补全相关推荐

  1. shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向

    2019独角兽企业重金招聘Python工程师标准>>> shell介绍 shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以有自 ...

  2. 8.1shell介绍 8.2命令历史 8.3命令补全和别名 8.4通配符 8.5输入输出重定向

    8.1 shell介绍 . 查找一下有没有这2个安装文件 8.2 命令历史 环璄1000,所以只能存1000条记录 ' 有时候查到比1000多了,那是因为输入的命令还没有写进这个文件,只存在内存中 h ...

  3. 8.1-8.5 shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向

    8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 Linux Shell基础 介绍shell的特性,用法. shell是 ...

  4. shell介绍 命令历史 命令补全和别名 通配符 输入输出重定向

    8.1 shell介绍 shell 是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell 为bash(Bou ...

  5. CentOS Bash 命令补全增强软件包 bash-completion

    引言 之前安装的 CentOS 7 是最小化安装,在使用 systemctl 命令进行服务的管理时,经常手动输入相关服务名. 如果对一个服务名称不熟悉,这样可以迫使我们记住它,但如果对一个服务名已经很 ...

  6. Linux下命令补全工具bash-completion

    Linux下超强的命令补全工具bash-completion 编写 Bash 补全脚本 参考URL: https://kodango.com/bash-competion-programming 在使 ...

  7. docker 命令补全

    docker 命令补全 补全: 安装docker自带包: source /usr/share/bash-completion/completions/docker 缺少下面的包,TAB会报错 yum ...

  8. linux bash gt,linux之bash的基础特性(一)--gt;命令历史(history命令),命令补全,路径补全...

    关于命令历史-->history 1.与之相关的环境变量:HISTSIZE,HISTFILE-->~/.bash_history,HISTFILESIZE,HISTCONTROL,HIST ...

  9. macos 10.15.3 安装vim+python3 +ycm自动补全+第三方库补全

    效果: macos 10.15.3   Catalina 默认安装是 vim8.1 / python2.7.16/python3.7.3  . vim8.1 没有带python3支持,需要更新到最新版 ...

最新文章

  1. 安装 Homestead 可能会出现的一些 Problems
  2. 可信计算 沈昌祥_沈昌祥:用可信计算筑牢网络安全
  3. 团队冲刺the second day
  4. 【深度好文】过了30岁,做技术开发、工程师还有前途吗?
  5. LeetCode 61旋转链表-中等
  6. java学生成绩管理系统源码(java学生信息管理 java成绩管理系统 java学生信息管理系统)
  7. web漏洞扫描器原理_黑客秘籍:基于WAF日志的扫描器检测实践
  8. 给Java程序猿们推荐一些值得一看的好书
  9. eclipse导入android项目
  10. EDM大师独家收藏的30个绝佳节日邮件模板
  11. t分布 u分布 卡方分布_u分布(u分布和t分布)
  12. 毕业设计 stm32便携式老年人智能药箱系统 - 物联网 单片机 嵌入式
  13. 统计小写英文字母的个数 c语言,输入一行字符,统计英文字母,空格,和其他字符的个数...
  14. 模拟人生4 Mac(经营模拟游戏)全DLC可无限金币版
  15. jQuery Ajax 的使用 方法列表 详解教程
  16. 13种MongoDB的GUI简介
  17. window.location.href跳转到的页面,获取值
  18. DC靶机系列------6
  19. 排名趋于稳定后,最新的博主排名(TOP10)
  20. 数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一

热门文章

  1. 24.volatile关键字的作用、volatile原理、可见性、内存屏障、volatile性能、transient
  2. SQL按照年月员工状态统计出勤情况
  3. 处理字符串_7_判断字符串是字符串数字型
  4. 基于mondrian的多维分析系统
  5. Sqoop1使用手册
  6. python islower函数_python字符串是否是小写-python 字符串小写-python islower函数-python islower函数未定义-嗨客网...
  7. vb 如何检测打印机是否联机_打印机提示该文档未能打印导致打印失败的原因及解决方法...
  8. pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
  9. 基于深度学习的CT图像肺结节自动检测(系列放在一起)
  10. Linux驱动编程 step-by-step (一)驱动程序的作用