使用rlwrap上下翻sqlplus歷史命令

2021-08-27 07:36:08 字數 2655 閱讀 1493

在linux的sqlplus中執行sql語句之後,想用上下鍵把歷史命令找出來,這樣是linux系統預設是不支援的。

如何像windows裡的cmd視窗的sqlplus一樣能上下翻歷史命令呢?

可以使用rlwrap工具實現這個功能

2.安裝rlwrap

[root@server122 oracle]# tar -zxvf rlwrap-0.37.tar.gz

[root@server122 rlwrap-0.37]# ./configure

[root@server122 rlwrap-0.37]# make

[root@server122 rlwrap-0.37]# make install

--檢視rlwrap命令

[root@server122 rlwrap-0.37]# rlwrap

usage: rlwrap [options] command ...

options:

-a[password:] --always-readline[=password:]

-a --ansi-colour-aware

-b --break-chars=

-c --complete-filenames

-c --command-name=

-d <0|1|2> --history-no-dupes=<0|1|2>

-f --file=

-g --forget-matching=

-h --help

-h --history-filename=

-i --case-insensitive

-i --pass-sigint-as-sigterm

-l --logfile=

-n --no-warnings

-n --no-children

-o --one-shot

-o --only-cook=

-p[colour] --prompt-colour[=colour]

-p --pre-given=

-q --quote-characters=

-m[newline substitute] --multi-line[=newline substitute]

-r --remember

-r --renice

-v --version

-s --histsize=(negative: readonly)

-s --substitute-prompt=

-t --set-term-name=

-w --wait-before-prompt=(msec, <0 : patient mode)

-z --filter=

bug reports, suggestions, updates:

3.使用rlwrap

[oracle@server122 ~]$ rlwrap sqlplus "/as sysdba"

sql> show sga

total system global area 2.5770e+10 bytes

fixed size 2142928 bytes

variable size 2852130096 bytes

database buffers 2.2901e+10 bytes

redo buffers 14630912 bytes

--此時用上下鍵功能可以就可像windows裡一樣,可以上下翻命令了

sql> show sga

4.設定sqlplus別名

為了sqlplus使用方便,讓sqlplus預設在rlwrap方式下執行,可以設定乙個別名

[oracle@server122 ~]$ pwd

/home/oracle

[oracle@server122 ~]$ vi .bash_profile

alias sqlplus='rlwrap sqlplus' #新增此內容

--使之生效,或是重新登入oracle使用者

[oracle@server122 ~]$ source .bash_profile

--用type sqlplus驗證,如果顯示下面的資訊證明alias設定成功

[oracle@server122 ~]$ type sqlplus

sqlplus is aliased to `rlwrap sqlplus'

[oracle@server122 ~]$ sqlplus "/as sysdba"

sql> show sga

total system global area 2.5770e+10 bytes

fixed size 2142928 bytes

variable size 2852130096 bytes

database buffers 2.2901e+10 bytes

redo buffers 14630912 bytes

--同樣上下翻可以再顯歷史命令

sql> show sga

注意:

alias定義中使用的是單引號,而不是tab上面的那個,/home/oracle/是oracle使用者的主目錄。

rlwrap解決sqlplus上下鍵找歷史命

在linux下面使用sqlplus預設不可以使用上下鍵查詢歷史命令,使用起來很不方便,影響效率。不過,可以通過第三方工具rlwrap來解決這個問題。一 安裝readline 可以通過yum這個工具來完成 root rhel6 yum y install readline root rhel6 rpm...

安裝rlwrap方便sqlplus使用

這是乙個為方便使用sql plus的技巧,為了能像在dos命令視窗中那樣執行sql plus,使用向上 向下鍵來跳回之前已經執行過的sql語句。需要在linux上安裝rlwrap包,這個程式本身是個shell,可以執行任何你提供給它的命令包括引數,並新增命令歷史瀏覽功能 上傳到linux伺服器,解壓...

使用rlwrap實現SQLplus翻頁功能

rlwrap工具可以解決linux下sqlplus提供瀏覽歷史命令列的功能,和刪除先前輸入錯誤的字母等問題 一 構建rlwap安裝環境 rlwrap依賴於readline,而readline依賴於libtermcap,所以需要先安裝如下幾個包 libtermcap devel readline re...