DM数据库的disql中不能进行翻找命令,也不能使用简单的backspace删除,在编辑SQL的时候特别的不方便,本文讲述的 rlwrap 工具可以用来解决这个问题。
rlwrap 是 GNU readline 的封装程序,可对键盘输入进行编辑。并且维护着每个输入命令的历史记录。
下载地址
https://fossies.org/linux/privat/rlwrap-0.45.2.tar.gz
将rlwrap-0.45.2.tar.gz文件上传到服务器当中进行源码安装即可
解压
[root@dm ~]# tar zxvf rlwrap-0.45.2.tar.gz
rlwrap-0.45.2/
rlwrap-0.45.2/.gitignore
rlwrap-0.45.2/AUTHORS
rlwrap-0.45.2/BUGS
rlwrap-0.45.2/COPYING
rlwrap-0.45.2/ChangeLog
rlwrap-0.45.2/INSTALL
rlwrap-0.45.2/Makefile.am
rlwrap-0.45.2/NEWS
rlwrap-0.45.2/README.md
rlwrap-0.45.2/completions/
rlwrap-0.45.2/completions/coqtop
rlwrap-0.45.2/completions/testclient
rlwrap-0.45.2/configure.ac
rlwrap-0.45.2/doc/
rlwrap-0.45.2/doc/Makefile.am
rlwrap-0.45.2/doc/rlwrap.man.in
rlwrap-0.45.2/filters/
rlwrap-0.45.2/filters/Makefile.am
rlwrap-0.45.2/filters/README
rlwrap-0.45.2/filters/RlwrapFilter.pm
rlwrap-0.45.2/filters/censor_passwords
rlwrap-0.45.2/filters/censor_passwords.py
rlwrap-0.45.2/filters/count_in_prompt
rlwrap-0.45.2/filters/count_in_prompt.py
rlwrap-0.45.2/filters/debug_null
rlwrap-0.45.2/filters/dissect_prompt
rlwrap-0.45.2/filters/edit_history
rlwrap-0.45.2/filters/ftp_filter
rlwrap-0.45.2/filters/ftp_filter.py
rlwrap-0.45.2/filters/handle_hotkeys
rlwrap-0.45.2/filters/handle_hotkeys.py
rlwrap-0.45.2/filters/handle_sigwinch
rlwrap-0.45.2/filters/history_format
rlwrap-0.45.2/filters/listing
rlwrap-0.45.2/filters/logger
rlwrap-0.45.2/filters/logger.py
rlwrap-0.45.2/filters/makefilter
rlwrap-0.45.2/filters/null
rlwrap-0.45.2/filters/null.py
rlwrap-0.45.2/filters/outfilter
rlwrap-0.45.2/filters/paint_prompt
rlwrap-0.45.2/filters/paint_prompt.py
rlwrap-0.45.2/filters/pipeline
rlwrap-0.45.2/filters/pipeto
rlwrap-0.45.2/filters/pipeto.py
rlwrap-0.45.2/filters/rlwrapfilter.md
rlwrap-0.45.2/filters/rlwrapfilter.py
rlwrap-0.45.2/filters/scrub_prompt
rlwrap-0.45.2/filters/simple_macro
rlwrap-0.45.2/filters/template
rlwrap-0.45.2/filters/unbackspace
rlwrap-0.45.2/src/
rlwrap-0.45.2/src/Makefile.am
rlwrap-0.45.2/src/completion.c
rlwrap-0.45.2/src/completion.rb
rlwrap-0.45.2/src/filter.c
rlwrap-0.45.2/src/main.c
rlwrap-0.45.2/src/malloc_debug.c
rlwrap-0.45.2/src/malloc_debug.h
rlwrap-0.45.2/src/multibyte.c
rlwrap-0.45.2/src/pty.c
rlwrap-0.45.2/src/ptytty.c
rlwrap-0.45.2/src/readline.c
rlwrap-0.45.2/src/redblack.h
rlwrap-0.45.2/src/rlwrap.h
rlwrap-0.45.2/src/signals.c
rlwrap-0.45.2/src/string_utils.c
rlwrap-0.45.2/src/term.c
rlwrap-0.45.2/src/utils.c
rlwrap-0.45.2/test/
rlwrap-0.45.2/test/testclient
rlwrap-0.45.2/test/testit
查看目录
[root@dm ~]# cd rlwrap-0.45.2/
[root@dm rlwrap-0.45.2]# ll
总用量 100
-rw-rw-r-- 1 root root 982 6月 15 2021 AUTHORS
-rw-rw-r-- 1 root root 2021 6月 15 2021 BUGS
-rw-rw-r-- 1 root root 105 6月 15 2021 ChangeLog
drwxrwxr-x 2 root root 38 6月 15 2021 completions
-rw-rw-r-- 1 root root 18673 6月 15 2021 configure.ac
-rw-rw-r-- 1 root root 17992 6月 15 2021 COPYING
drwxrwxr-x 2 root root 46 6月 15 2021 doc
drwxrwxr-x 2 root root 4096 6月 15 2021 filters
-rw-rw-r-- 1 root root 4137 6月 15 2021 INSTALL
-rw-rw-r-- 1 root root 2123 6月 15 2021 Makefile.am
-rw-rw-r-- 1 root root 24793 6月 15 2021 NEWS
-rw-rw-r-- 1 root root 3851 6月 15 2021 README.md
drwxrwxr-x 2 root root 308 6月 15 2021 src
drwxrwxr-x 2 root root 38 6月 15 2021 test
看到缺少configure文件需要执行以下命令
[root@dm rlwrap-0.45.2]# yum -y install automake
上次元数据过期检查:0:26:20 前,执行于 2022年08月27日 星期六 10时20分54秒。
软件包 automake-1.16.2-1.ky10.noarch 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@dm rlwrap-0.45.2]# aclocal
[root@dm rlwrap-0.45.2]# autoconf
[root@dm rlwrap-0.45.2]# autoheader
[root@dm rlwrap-0.45.2]# autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: creating directory tools
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:92: installing 'tools/compile'
configure.ac:32: installing 'tools/config.guess'
configure.ac:32: installing 'tools/config.sub'
configure.ac:34: installing 'tools/install-sh'
configure.ac:34: installing 'tools/missing'
parallel-tests: installing 'tools/test-driver'
src/Makefile.am: installing 'tools/depcomp'
autoreconf: Leaving directory `.'
[root@dm rlwrap-0.45.2]# automake --add-missing
[root@dm rlwrap-0.45.2]#
[root@dm rlwrap-0.45.2]# ll
总用量 460
-rw-r--r-- 1 root root 42023 8月 27 10:47 aclocal.m4
-rw-rw-r-- 1 root root 982 6月 15 2021 AUTHORS
drwxr-xr-x 2 root root 86 8月 27 10:47 autom4te.cache
-rw-rw-r-- 1 root root 2021 6月 15 2021 BUGS
-rw-rw-r-- 1 root root 105 6月 15 2021 ChangeLog
drwxrwxr-x 2 root root 38 6月 15 2021 completions
-rw-r--r-- 1 root root 9074 8月 27 10:47 config.h.in
-rw-r--r-- 1 root root 9074 8月 27 10:47 config.h.in~
-rwxr-xr-x 1 root root 250227 8月 27 10:47 configure
-rw-rw-r-- 1 root root 18673 6月 15 2021 configure.ac
-rw-rw-r-- 1 root root 17992 6月 15 2021 COPYING
drwxrwxr-x 2 root root 65 8月 27 10:47 doc
drwxrwxr-x 2 root root 4096 8月 27 10:47 filters
-rw-rw-r-- 1 root root 4137 6月 15 2021 INSTALL
-rw-rw-r-- 1 root root 2123 6月 15 2021 Makefile.am
-rw-r--r-- 1 root root 42420 8月 27 10:47 Makefile.in
-rw-rw-r-- 1 root root 24793 6月 15 2021 NEWS
-rw-rw-r-- 1 root root 3851 6月 15 2021 README.md
drwxrwxr-x 2 root root 327 8月 27 10:47 src
drwxrwxr-x 2 root root 38 6月 15 2021 test
drwxr-xr-x 2 root root 126 8月 27 10:47 tools
看到有configure文件,即可执行
[root@dm rlwrap-0.45.2]# ./configure
[root@dm rlwrap-0.45.2]# make
[root@dm rlwrap-0.45.2]# make install
安装完成
切换到dmdba用户
[root@dm ~]# su - dmdba
修改环境变量,增加下面两行
[dmdba@dm ~]$ vim .bash_profile
alias disql="rlwrap disql"
alias dmrman="rlwrap dmrman"
保存,退出。使环境变量生效
[dmdba@dm ~]$ source .bash_profile
# 或者
[dmdba@dm ~]$ . .bash_profile
配置完成,再次打开disql便可以使用翻找命令功能。
感谢各位!
技术博客社区地址
https://eco.dameng.com