当前位置: 首页 > 工具软件 > rlwrap > 使用案例 >

DM数据库生产环境disql命令rlwrap工具

芮雪风
2023-12-01

背景

DM数据库的disql中不能进行翻找命令,也不能使用简单的backspace删除,在编辑SQL的时候特别的不方便,本文讲述的 rlwrap 工具可以用来解决这个问题。
rlwrap 是 GNU readline 的封装程序,可对键盘输入进行编辑。并且维护着每个输入命令的历史记录。

下载rlwrap安装包

下载地址
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

 类似资料: