readline库的使用】的更多相关文章

用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全 ↑ 或 ↓ 键可以用来快速输入历史命令 还有一些交互式行编辑快捷键: C-A / C-E 将光标移到行首/行尾 C-B / C-F 将光标向左/向右移动一个位置 C-D 删除光标下的一个字符 C-K 删除光标及光标到行尾的所有字符 C-U 删除光标到行首的所有字符 ... 同样的操作在很多交互式程序都有类似的操作,例如 ftp.gdb 等等,那么你是否想过这些是如何实现的呢?如果我们要做一个命令行下的交互式开源…
编译lualua项目,其中用到了lua-5.1版本的源码,编译时提示缺少readline库,找不到readline/readline.h头文件等 发现系统中其实有安装readline库不过没有做链接和头文件目录拷贝,anyway不管这些,就当没有,重新安装readline库 1.下载readline-6.2.tar.gz wget -c ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz 放到某个目录下,如/usr/local/ 并解压出来 ta…
转自:https://www.cnblogs.com/hazir/p/instruction_to_readline.html 用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全 ↑ 或 ↓ 键可以用来快速输入历史命令 还有一些交互式行编辑快捷键: C-A / C-E 将光标移到行首/行尾 C-B / C-F 将光标向左/向右移动一个位置 C-D 删除光标下的一个字符 C-K 删除光标及光标到行尾的所有字符 C-U 删除光标到行首的所有字符 ... 同样的操作在…
Input History readline tracks the input history automatically. There are two different sets of functions for working with the history. The history for the current session can be accessed with get_current_history_length()and get_history_item(). That s…
接口十分简单,readline和addhistory: #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <readline/readline.h> #include <readline/history.h> int main() {     char* input, shell_prompt[100];     // Configure readline to…
目录 译者序序前言第1章 文本1.1 string—文本常量和模板1.1.1 函数1.1.2 模板1.1.3 高级模板1.2 textwrap—格式化文本段落1.2.1 示例数据1.2.2 填充段落1.2.3 去除现有缩进1.2.4 结合dedent和fill1.2.5 悬挂缩进1.3 re—正则表达式1.3.1 查找文本中的模式1.3.2 编译表达式1.3.3 多重匹配1.3.4 模式语法1.3.5 限制搜索1.3.6 用组解析匹配1.3.7 搜索选项1.3.8 前向或后向1.3.9 自引用表…
下载地址 英文版(文字版) 官方文档 The Python Standard Library <Python标准库>一书的目录 <python标准库> 译者序 序 前言 第1章 文本1 1.1 string—文本常量和模板1 1.1.1 函数1 1.1.2 模板2 1.1.3 高级模板4 1.2 textwrap—格式化文本段落6 1.2.1 示例数据6 1.2.2 填充段落6 1.2.3 去除现有缩进7 1.2.4 结合dedent和fill7 1.2.5 悬挂缩进8 1.3 r…
说明 GNU Readline是一个跨平台开源程序库,提供交互式的文本编辑功能.应用程序借助该库函数,允许用户编辑键入的命令行,并提供自动补全和命令历史等功能.Bash(Bourne Again Shell).GDB.ftp 和mail等程序就使用Readline库提供其命令行界面. Readline是GNU通用公共许可证版本3(GNU GPLv3)下的自由软件.这意味着若发布或分发的程序使用Readline库,则该程序必须是自由软件,并持有GPL-兼容的许可证.当然,用户也可使用自己的实现替代…
作者: Amjith Ramanujam 译者: LCTT Lv Feng 在这个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程中,我们将讨论 Prompt.Toolkit.Click.Pygments 和 Fuzzy Finder . 这是我的一个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程.在第一篇文章中,我们讨论了一些能够使命令行应用用起来令人感到愉悦的特性.在第二篇文章中,我们来看看如何用 Python 的一些库来实现这些特性. 我打算用少于 20…
PHP 作为一个 Web 开发语言,相对来说,命令行程序并不是它的主战场.所以很多年轻的 PHP 开发者可能连命令行脚本都没有写过,更别提交互式的命令操作了.而今天,我们带来的这个扩展就是针对 PHP 的交互式命令行操作的. readline 扩展函数实现了访问 GNU Readline 库的接口.这些函数提供了可编辑的命令行.一个例子是在 Bash 中允许你使用箭头按键来插入字符或者翻看历史命令.因为这个库的交互特性,这个功能在你写的 Web 程序中没多大用处,但是当你写的脚本被用在命令行中时…
1.安装cmake包 [root@edu soft]# tar -xzf cmake-.tar.Z [root@edu soft]# cd cmake- [root@edu cmake-]# ./configure #对包进行初始化配置 ...... -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian -- Looki…
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版本[root@centos ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core) [root@centos ~]# uname -aLinux tCentos7 3.10.0-123.13.2.el7.x86_64 #1 SM…
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版本[root@centos ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core) [root@centos ~]# uname -aLinux tCentos7 3.10.0-123.9.3.el7.x86_64 #1 SMP…
一.准备工作 1.安装编译工具gcc.gcc-c++ 注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源-- 1)编辑yum配置文件: # mount /dev/cdrom /mnt/cdrom # vi /etc/yum.repos.d/CentOS-Media.repo [c6-media] name=CentOS-$releasever - Media baseurl=file:///mnt/cdrom   * 修改为光盘挂载点 gpgcheck=0 enabled…
概述 本教程将简要介绍 bash shell 的一些主要特性,涵盖以下主题: 使用命令行与 shell 和命令交互 使用有效的命令和命令序列 定义.修改.引用和导出环境变量 访问命令历史和编辑工具 调用路径内和路径外的命令 使用手册页了解命令   回页首 bash shell bashshell 是可用于 Linux 的几个 shell 之一,也被称为 Bourne-again shell,是根据一个早期的 shell (/bin/sh) 的创建者 Stephen Bourne 来命名的.Bas…
lua是一种嵌入式的语言,首先安装. lua安装依赖于readline库,下载readline tar -zxvf readline-6.2.tar.gz cd readline-6.2 ./configure make && make installl 然后解压lua make linux test 完成之后,在src目录下,执行lua,打开终端 输入print('hello world') 就安装完成了 退出终端可以执行os.exit() 接下来执行一个简单的程序 -- defines…
如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: https://github.com/Broglie/Oh-Shell 简单的分析 我们的shell不像bash那样复杂全面,只是实现其中的一小部分功能:命令历史,命令补全,支持IO重定向和管道.一共分成几个部分:主 函数文件,输出出错信息,解析命令等. 我们打开bash对照着做,首先bash有命令提示符,…
首先安装一些辅助的软件或者说是依赖的关系包. 1.安装libxml2: libxml是一个用来解析XML文档的函数库.它用C语言写成, 并且能为多种语言所调用,例如C语言,C++,XSH.C#, Python,Kylix/Delphi,Ruby,和PHP等.Perl中也可以使用XML::LibXML模块.它最初是为GNOME开发的项目,但现在可以用在各种各样的方面.libXML 代码可移植性非常好,因为它基于标准的ANSI C库, 并采用MIT许可证. yum install -y libxml…
13. 交互式输入的编辑和历史记录 某些版本的 Python 解释器支持编辑当前的输入行和历史记录,类似于在 Korn shell 和 GNU Bash shell 中看到的功能.这是使用GNU Readline库实现的,它支持 Emacs 风格和 vi 风格的编辑.这个库有它自己的文档,在这里我不就重复了:然而,基本原理很容易解释.本章讲述的交互式编辑和历史记录功能在 Unix 版本和 Cygwin 版本中是可选的. 13.1. 行编辑 如果支持,无论解释器打印主提示符还是从属提示符,输入行一…
ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. git的地址git clone git://git.videolan.org/vlc.git 源码包地址 http://get.videolan.org/vlc/2.2.0/vlc-2.2.0.tar.xz 下载和解压 xz压缩的档案包使用J参数来解压 wget http://get.videol…
刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell)的过程.这个所谓的shell和主流的shell还是有不少区别的,最大的区别是它本身不能执行shell脚本.也不能对一些复杂的命令行进行分析——原因很简单,我没有写相应的解释器.如果想自己实现一个简化的shell脚本解释器,如果有编译原理的知识准备,本身不是难事,但是工作量比较大,这里就不完成了,有兴…
一.安装前准备 1.下载所需软件包: apr | http://apache.etoak.com/apr/ apr-util | http://apache.etoak.com/apr/ autoconf | http://ftp.gnu.org/gnu/autoconf/ curl | http://curl.haxx.se/download/ freetype | http://download.savannah.gnu.org/releases/freetype/ httpd | http…
MySQL自5.5版本以后,就开始使用CMake编译工具了,因此,你在安装源文件中找不到configure文件是正常的.很多人下到了新版的MySQL,因为找不到configure文件,不知道该怎么继续下去.有没有一篇可供参考的文章呢?其实在http://forge.mysql.com网站上有一篇文章,专门介绍了如何用CMake工具进行新版MySQL的编译安装. 原文地址为:http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guid…
参考资料: 1. http://www.linuxdiyf.com/viewarticle.php?id=81796 需要下载的文件有两个:zhcon-0.2.5.tar.gz和zhcon-0.2.5-to-0.2.6.diff.gz. 下载地址:http://sourceforge.net/project/showfiles.php?group_id=27400windows下载(先用WinRAR解压得到两个文件):http://www.namipan.com/d/zhcon0. ... 49…
1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按 <CTRL-x CTRL-e> ,会打开一个你指定的编辑器(比如vim,通过环境变量$EDITOR指定),里面就是你刚输入的命令,然后爱怎么编辑就怎么编辑吧,特别是那些参数异常复杂的程序,比如mencoder/ffmpeg,一个命令动辄3.4行的,要修改其中的参数,这个方法最合适不过了,保存退出后自动执行这个程序. 实际上这是readline库的功能,在默认情况下,bash使用的是…
快捷键的一些说明: CTRL=C:这个键是指PC键盘上的Ctrl键 ALT=M:这个键是PC键盘上的ALT键,如果你键盘上没有这个键,可以尝试使用ESC键代替 SHIFT=S:此键是PC上的Shift键 ESC=E:这个键是PC键盘上的ESC键,此键一般在键盘的左上角 BACKSPACE=DEL:此键是是PC键盘上的Backspace键,一般位于主键盘区的右上角 文中”[]“括住的为快捷键内容,”-”两边的内容是按住左边键,再按右边键获得,”,”逗号两边的内容是先按左边键,松开后再按右边键.如:…
GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式:LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证):GFDL 是 GNU Free Documentation License (GNU 自由文档许可证)的缩写形式.它们是自由软件(Free Software)的通用版权…
一.准备工作(把安装环境需要使用到的包都下载好) mysql(官网):http://dev.mysql.com/downloads/ php(官网):http://php.net/downloads.php nginx(官网):http://nginx.org/:选择稳定版本(Nginx有很多种版本,比如mainline(主线版),stable(稳定版)) 下载mysql.php.nginx的教程:http://www.cnblogs.com/zengguowang/p/5812999.html…
安装 进入官方站点(http://www.lua.org/download.html )下载最新的安装包.当前是 Lua 5.2.0 wget -c http://www.lua.org/ftp/lua-5.2.0.tar.gz 解压: tar zxvf lua-5.2.0.tar.gz 安装readline wget -c ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz tar -zxvf readline-6.2.tar.gz cd re…
实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 (Final)数据库版本:PostgreSQL 9.3.5 安装postgresql的依赖有 a.需要一个ISO/ANSIC编译器(至少兼容C89). b.需要GNU make: 不能使用其它make程序. c.缺省时将自动使用GNU Readline库.需要readline和readline-devel 两…