Я просто использую socat , чтобы добавить поддержку readline в sqlplus. История и работающая клавиша Backspace превращают sqlplus в довольно приличный инструмент.
По моему .bashrc :
function sqlplus {
socat READLINE,history=$HOME/.sqlplus_history EXEC:"$ORACLE_HOME/bin/sqlplus $(echo $@ | sed 's/\([\:]\)/\\\1/g')",pty,setsid,ctty
status=$?
}
Вы можете увидеть альтернативы, псевдоним sqlplus для socat, но вы быстро обнаружите, что это не позволяет вам вызывать sqlplus с его различными параметрами командной строки.
CAVEAT: Обязательно установите разрешения $ HOME / .sqlplus_history равными 0600. Вводимые вами пароли в конечном итоге попадают в файл истории. Вы можете также рассмотреть возможность добавления cat /dev/null > $HOME/.sqlplus_history
в .bash_logout .