readline( )库的安装和使用,实现命令补全
之前自己实现一个简单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( )库的安装和使用,实现命令补全相关推荐
- shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向
2019独角兽企业重金招聘Python工程师标准>>> shell介绍 shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以有自 ...
- 8.1shell介绍 8.2命令历史 8.3命令补全和别名 8.4通配符 8.5输入输出重定向
8.1 shell介绍 . 查找一下有没有这2个安装文件 8.2 命令历史 环璄1000,所以只能存1000条记录 ' 有时候查到比1000多了,那是因为输入的命令还没有写进这个文件,只存在内存中 h ...
- 8.1-8.5 shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 Linux Shell基础 介绍shell的特性,用法. shell是 ...
- shell介绍 命令历史 命令补全和别名 通配符 输入输出重定向
8.1 shell介绍 shell 是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell 为bash(Bou ...
- CentOS Bash 命令补全增强软件包 bash-completion
引言 之前安装的 CentOS 7 是最小化安装,在使用 systemctl 命令进行服务的管理时,经常手动输入相关服务名. 如果对一个服务名称不熟悉,这样可以迫使我们记住它,但如果对一个服务名已经很 ...
- Linux下命令补全工具bash-completion
Linux下超强的命令补全工具bash-completion 编写 Bash 补全脚本 参考URL: https://kodango.com/bash-competion-programming 在使 ...
- docker 命令补全
docker 命令补全 补全: 安装docker自带包: source /usr/share/bash-completion/completions/docker 缺少下面的包,TAB会报错 yum ...
- linux bash gt,linux之bash的基础特性(一)--gt;命令历史(history命令),命令补全,路径补全...
关于命令历史-->history 1.与之相关的环境变量:HISTSIZE,HISTFILE-->~/.bash_history,HISTFILESIZE,HISTCONTROL,HIST ...
- macos 10.15.3 安装vim+python3 +ycm自动补全+第三方库补全
效果: macos 10.15.3 Catalina 默认安装是 vim8.1 / python2.7.16/python3.7.3 . vim8.1 没有带python3支持,需要更新到最新版 ...
最新文章
- 安装 Homestead 可能会出现的一些 Problems
- 可信计算 沈昌祥_沈昌祥:用可信计算筑牢网络安全
- 团队冲刺the second day
- 【深度好文】过了30岁,做技术开发、工程师还有前途吗?
- LeetCode 61旋转链表-中等
- java学生成绩管理系统源码(java学生信息管理 java成绩管理系统 java学生信息管理系统)
- web漏洞扫描器原理_黑客秘籍:基于WAF日志的扫描器检测实践
- 给Java程序猿们推荐一些值得一看的好书
- eclipse导入android项目
- EDM大师独家收藏的30个绝佳节日邮件模板
- t分布 u分布 卡方分布_u分布(u分布和t分布)
- 毕业设计 stm32便携式老年人智能药箱系统 - 物联网 单片机 嵌入式
- 统计小写英文字母的个数 c语言,输入一行字符,统计英文字母,空格,和其他字符的个数...
- 模拟人生4 Mac(经营模拟游戏)全DLC可无限金币版
- jQuery Ajax 的使用 方法列表 详解教程
- 13种MongoDB的GUI简介
- window.location.href跳转到的页面,获取值
- DC靶机系列------6
- 排名趋于稳定后,最新的博主排名(TOP10)
- 数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一
热门文章
- 24.volatile关键字的作用、volatile原理、可见性、内存屏障、volatile性能、transient
- SQL按照年月员工状态统计出勤情况
- 处理字符串_7_判断字符串是字符串数字型
- 基于mondrian的多维分析系统
- Sqoop1使用手册
- python islower函数_python字符串是否是小写-python 字符串小写-python islower函数-python islower函数未定义-嗨客网...
- vb 如何检测打印机是否联机_打印机提示该文档未能打印导致打印失败的原因及解决方法...
- pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
- 基于深度学习的CT图像肺结节自动检测(系列放在一起)
- Linux驱动编程 step-by-step (一)驱动程序的作用