概述
自己实现一个简单shell 的时候,想要实现命令行自动补全功能,于是上网查了查资料,发现多数都提到了
readline( ) 库,经过仔细了解后,发现其实bash 的底层实现也是调用了这个库,我的系统是 fedora 21 并没有安装这个库,且man page 中也没有相关信息
那我们直接尝试安装。
首先平直觉 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 已经有自动补全功能了。
最后
以上就是糊涂眼睛为你收集整理的readline库的安装和使用,实现shell命令自动补全的全部内容,希望文章能够帮你解决readline库的安装和使用,实现shell命令自动补全所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复