passwords list url erase void oct sed nba
rlwrap 可用来支持Oracle下sqlplus历史命令的回调功能,提高效率。
1、下载从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载rlwrap-0.37.tar.gz,然后上传到相应目录
0.37版本在redhat6上安装的时候会报没有依赖包,其实是高版本的依赖包软件找不到,不想摆弄了。我在网上其他地方搜了一个 rlwrap-0.42,可以在redhat6上直接装。2.安装2.1主要步骤是:./configuremakemake install2.2下面包含了具体的安装调试信息[[email protected] soft]# gzip -d rlwrap-0.37.tar.gz[[email protected] soft]# tar -xvf rlwrap-0.37.tar[[email protected] rlwrap-0.37]# ./configurechecking build system type... i686-pc-Linux-gnuchecking host system type... i686-pc-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether make sets $(MAKE)... (cached) yeschecking whether build environment is sane... yeschecking for style of include used by make... GNUchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables... checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking dependency style of gcc... gcc3checking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking minix/config.h usability... nochecking minix/config.h presence... nochecking for minix/config.h... nochecking whether it is safe to define __EXTENSIONS__... yeschecking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yeschecking whether gcc accepts -g... (cached) yeschecking for gcc option to accept ISO C89... (cached) none neededchecking dependency style of gcc... (cached) gcc3checking how to run the C preprocessor... gcc -Echecking for perl... /usr/bin/perlchecking for strip... stripchecking for ANSI C header files... (cached) yeschecking for sys/wait.h that is POSIX.1 compatible... yeschecking errno.h usability... yeschecking errno.h presence... yeschecking for errno.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking libutil.h usability... nochecking libutil.h presence... nochecking for libutil.h... nochecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sched.h usability... yeschecking sched.h presence... yeschecking for sched.h... yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking for sys/wait.h... (cached) yeschecking sys/resource.h usability... yeschecking sys/resource.h presence... yeschecking for sys/resource.h... yeschecking stddef.h usability... yeschecking stddef.h presence... yeschecking for stddef.h... yeschecking termios.h usability... yeschecking termios.h presence... yeschecking for termios.h... yeschecking for unistd.h... (cached) yeschecking for stdint.h... (cached) yeschecking time.h usability... yeschecking time.h presence... yeschecking for time.h... yeschecking getopt.h usability... yeschecking getopt.h presence... yeschecking for getopt.h... yeschecking regex.h usability... yeschecking regex.h presence... yeschecking for regex.h... yeschecking curses.h usability... nochecking curses.h presence... nochecking for curses.h... nochecking termcap.h usability... nochecking termcap.h presence... nochecking for termcap.h... nochecking for term.h... nochecking for ncurses/term.h... nochecking argument type of tputs putc function... charchecking whether your getopt() correctly understands double colons in option string... yeschecking for an ANSI C-conforming const... yeschecking for pid_t... yeschecking whether time.h and sys/time.h may both be included... yeschecking whether gcc needs -traditional... nochecking return type of signal handlers... voidchecking for getopt_long... yeschecking for getopt_long... (cached) yeschecking for isastream... yeschecking for mkstemp... yeschecking for pselect... yeschecking for putenv... yeschecking for readlink... yeschecking for sched_yield... yeschecking for setenv... yeschecking for setitimer... yeschecking for setsid... yeschecking for setrlimit... yeschecking for sigaction... yeschecking for snprintf... yeschecking for strlcpy... nochecking for strlcat... nochecking for strnlen... yeschecking for system... yeschecking for openpty in -lutil... yeschecking for openpty... yeschecking for getpty... nochecking for grantpt... yeschecking for unlockpt... yeschecking for getpt... yeschecking for pty/tty type... checking pty.h usability... yeschecking pty.h presence... yeschecking for pty.h... yesOPENPTYconfigure: checking for pty ranges...checking for tgetent... nochecking for tgetent in -lcurses... yeschecking for readline in -lreadline... noconfigure: error:You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to buildthis program![[email protected] rlwrap-0.37]# makemake: *** No targets specified and no makefile found. Stop.出现上面错误是因为缺少三个安装包:libtermcap-devel-2.0.8-39.i386.rpmreadline-4.3-13.i386.rpmreadline-devel-4.3-13.i386.rpm以上安装包在安装光盘中可以找到。[[email protected] rlwrap-0.37]# rpm -qa|grep readreadline-4.3-13安装以下三个包:[[email protected] rpms]# rpm -Uvh readline*[[email protected] rpms]# rpm -ivh libtermcap-devel-2.0.8-39.i386.rpm检查是否安装成功:[[email protected] rpms]# rpm -qa|grep readlinereadline-4.3-13readline-devel-4.3-13[[email protected] rpms]# rpm -qa|grep libterlibtermcap-2.0.8-39libtermcap-devel-2.0.8-39[[email protected] rpms]#重新安装:[[email protected] rlwrap-0.37]# ./configure[[email protected] rlwrap-0.37]# makemake all-recursivemake[1]: Entering directory `/soft/rlwrap-0.37‘Making all in docmake[2]: Entering directory `/soft/rlwrap-0.37/doc‘sed -e [email protected]@#/usr/local/share#‘ rlwrap.man > rlwrap.1make[2]: Leaving directory `/soft/rlwrap-0.37/doc‘Making all in srcmake[2]: Entering directory `/soft/rlwrap-0.37/src‘gcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cmv -f .deps/main.Tpo .deps/main.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT signals.o -MD -MP -MF .deps/signals.Tpo -c -o signals.o signals.cmv -f .deps/signals.Tpo .deps/signals.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT readline.o -MD -MP -MF .deps/readline.Tpo -c -o readline.o readline.cmv -f .deps/readline.Tpo .deps/readline.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT pty.o -MD -MP -MF .deps/pty.Tpo -c -o pty.o pty.cmv -f .deps/pty.Tpo .deps/pty.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT completion.o -MD -MP -MF .deps/completion.Tpo -c -o completion.o completion.cmv -f .deps/completion.Tpo .deps/completion.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT term.o -MD -MP -MF .deps/term.Tpo -c -o term.o term.cmv -f .deps/term.Tpo .deps/term.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT ptytty.o -MD -MP -MF .deps/ptytty.Tpo -c -o ptytty.o ptytty.cmv -f .deps/ptytty.Tpo .deps/ptytty.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.cmv -f .deps/utils.Tpo .deps/utils.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT string_utils.o -MD -MP -MF .deps/string_utils.Tpo -c -o string_utils.o string_utils.cstring_utils.c: In function `colourless_strlen‘:string_utils.c:626: warning: assignment discards qualifiers from pointer target typemv -f .deps/string_utils.Tpo .deps/string_utils.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT malloc_debug.o -MD -MP -MF .deps/malloc_debug.Tpo -c -o malloc_debug.o malloc_debug.cmv -f .deps/malloc_debug.Tpo .deps/malloc_debug.Pogcc -DHAVE_CONFIG_H -I. -I.. -DDATADIR=\"/usr/local/share\" -g -O2 -MT filter.o -MD -MP -MF .deps/filter.Tpo -c -o filter.o filter.cmv -f .deps/filter.Tpo .deps/filter.Pogcc -DDATADIR=\"/usr/local/share\" -g -O2 -o rlwrap main.o signals.o readline.o pty.o completion.o term.o ptytty.o utils.o string_utils.o malloc_debug.o filter.o -lutil -lreadline -lcursesmake[2]: Leaving directory `/soft/rlwrap-0.37/src‘Making all in filtersmake[2]: Entering directory `/soft/rlwrap-0.37/filters‘make[2]: Nothing to be done for `all‘.make[2]: Leaving directory `/soft/rlwrap-0.37/filters‘make[2]: Entering directory `/soft/rlwrap-0.37‘make[2]: Nothing to be done for `all-am‘.make[2]: Leaving directory `/soft/rlwrap-0.37‘make[1]: Leaving directory `/soft/rlwrap-0.37‘[[email protected] rlwrap-0.37]#[[email protected] rlwrap-0.37]# make installMaking install in docmake[1]: Entering directory `/soft/rlwrap-0.37/doc‘make[2]: Entering directory `/soft/rlwrap-0.37/doc‘make[2]: Nothing to be done for `install-exec-am‘.test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1" /usr/bin/install -c -m 644 rlwrap.1 ‘/usr/local/share/man/man1‘make[2]: Leaving directory `/soft/rlwrap-0.37/doc‘make[1]: Leaving directory `/soft/rlwrap-0.37/doc‘Making install in srcmake[1]: Entering directory `/soft/rlwrap-0.37/src‘make[2]: Entering directory `/soft/rlwrap-0.37/src‘test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin" /usr/bin/install -c rlwrap ‘/usr/local/bin‘make[2]: Nothing to be done for `install-data-am‘.make[2]: Leaving directory `/soft/rlwrap-0.37/src‘make[1]: Leaving directory `/soft/rlwrap-0.37/src‘Making install in filtersmake[1]: Entering directory `/soft/rlwrap-0.37/filters‘make[2]: Entering directory `/soft/rlwrap-0.37/filters‘make[2]: Nothing to be done for `install-exec-am‘.test -z "/usr/local/share/man/man3" || /bin/mkdir -p "/usr/local/share/man/man3" /usr/bin/install -c -m 644 RlwrapFilter.3pm ‘/usr/local/share/man/man3‘make[2]: Leaving directory `/soft/rlwrap-0.37/filters‘make[1]: Leaving directory `/soft/rlwrap-0.37/filters‘make[1]: Entering directory `/soft/rlwrap-0.37‘make[2]: Entering directory `/soft/rlwrap-0.37‘make[2]: Nothing to be done for `install-exec-am‘.test -z "/usr/local/share/rlwrap" || /bin/mkdir -p "/usr/local/share/rlwrap"/bin/mkdir -p ‘/usr/local/share/rlwrap/filters‘ /usr/bin/install -c -m 644 filters/README filters/RlwrapFilter.pm filters/RlwrapFilter.3pm filters/count_in_prompt filters/pipeto filters/logger filters/null filters/unbackspace filters/pipeline filters/ftp_filter filters/history_format filters/simple_macro filters/template filters/scrub_prompt filters/paint_prompt filters/censor_passwords filters/listing ‘/usr/local/share/rlwrap/filters‘/bin/mkdir -p ‘/usr/local/share/rlwrap/completions‘ /usr/bin/install -c -m 644 completions/testclient completions/coqtop ‘/usr/local/share/rlwrap/completions‘make install-data-hookmake[3]: Entering directory `/soft/rlwrap-0.37‘chmod a+x /usr/local/share/rlwrap/filters/* make[3]: Leaving directory `/soft/rlwrap-0.37‘make[2]: Leaving directory `/soft/rlwrap-0.37‘make[1]: Leaving directory `/soft/rlwrap-0.37‘[[email protected] rlwrap-0.37]#3、验证安装结果[[email protected] rlwrap-0.37]#su – oracle[[email protected] ~]$ rlwrap4、安装报错 rlwrap: error while loadingshared libraries: libreadline.so.5: cannot open shared object file: No suchfile or directory解决办法:在oracle下的.bash_profile中$PATH路径中增加/usr/local/bin路径 PATH=/usr/local/bin:$PATH;export PATH5、编辑oracle用户下的.bash_profile增加alias sqlplus=’rlwrap sqlplus’alias rman=’rlwrap rman’6.其他临时解决办法避免 backspace 出现奇怪的符号,可以在xshell中文件-->打开-->属性-->键盘delete键序列配置为:ASCII 127backspace键序列配置为:backspace在环境变量中增加stty erase ‘^H‘【转载】sqlplus中上下方向键回调历史命令--rlwrap安装
来源: http://www.bubuko.com/infodetail-2111952.html