Работа в консоли с такими приложениями как sqlplus мягко говоря не удобна. Нет истории команд, нет возможности редактирования и пр. Поэтому приложение rlwrap это просто находка для админа. Rlwrap исполняет команду при этом перехватывая ввод пользователя для предоставления функций редактирования. В большинстве дистрибутивов rlwrap уже есть, а если он отсутствует, то его можно скачать и собрать самому:
server$ gunzip rlwrap-0.37.tar.gz; tar -xf rlwrap-0.37.tar; cd rlwrap-0.37
server$ ./configure
server$ make
server$ sudo make install
При запуске rlwrap создается файл истории '~/.command_history', где command - название программы которую вы запускаете. Для использования автодополнения необходимо будет создать файл с перечнем команд. Rlwrap этот файл разберет по словам. Мой совет - сделайте этот файл в домашней директории, и назовите его в виде '~/.command_completions'. Тогда этот файл будет подхвачен автоматически, иначе файл дополнений нужно будет указывать через ключ '-f'
Ну что же, теперь можно наслаждаться всеми удобствами:
server$ rlwrap sqlplus user_name
Приведем для данного случая также файлы истории и автодополнения:
server$ ll -a
-rw-r--r-- 1 oracle oinstall 23 Mar 18 13:14 .sqlplus_completions
server$ gunzip rlwrap-0.37.tar.gz; tar -xf rlwrap-0.37.tar; cd rlwrap-0.37
server$ ./configure
server$ make
server$ sudo make install
При запуске rlwrap создается файл истории '~/.command_history', где command - название программы которую вы запускаете. Для использования автодополнения необходимо будет создать файл с перечнем команд. Rlwrap этот файл разберет по словам. Мой совет - сделайте этот файл в домашней директории, и назовите его в виде '~/.command_completions'. Тогда этот файл будет подхвачен автоматически, иначе файл дополнений нужно будет указывать через ключ '-f'
Ну что же, теперь можно наслаждаться всеми удобствами:
server$ rlwrap sqlplus user_name
Приведем для данного случая также файлы истории и автодополнения:
server$ ll -a
-rw-r--r-- 1 oracle oinstall 23 Mar 18 13:14 .sqlplus_completions
-rw------- 1 oracle oinstall 2222 Mar 18 13:14 .sqlplus_history
Для большего удобства можно прописать алиасы в ~/.bashrc в виде:
server$ cat ~/.bashrc
...
# User specific aliases and functions
alias sqlplus="rlwrap sqlplus"
Абсолютно согласен, с голым sqlplus очень не удобно работать!!!
ОтветитьУдалитьЯ в итоге через emacs запускал sqlplus, что тоже не круто. Интересно, оракл когда-нибудь все-таки доведет до юзабельного вида "из коробки" sqlplus или нет... а то монстроидные IDE ради пары запросов вот вообще никакого желания нет ставить :(