【发布时间】:2017-05-14 15:35:39
【问题描述】:
我已经查看了以下链接,但没有成功:
SSH to server, Sudo su - then run commands in bash
Can I ssh somewhere, run some commands, and then leave myself a prompt?
Run ssh and immediately execute command
我正在尝试自动执行以下序列以登录数据库
$ ssh <myserver>
me@myserver$ sudo su - oracle
<enter password>
oracle@myserver$ bash
oracle@myserver$ export ORAENV_ASK=NO
oracle@myserver$ export ORACLE_SID=ORACLEDB
oracle@myserver$ . oraenv
oracle@myserver$ echo $ORACLE_HOME
我尝试了该命令(基于上面的链接)但不起作用:
ssh -t myserver "echo password | sudo -S su - oracle ; bash ; export ORAENV_ASK=NO"
如何将这些命令组合到一个 shell 脚本(甚至是 perl 脚本)中,执行它,然后让自己处于提示符下,以便之后可以运行 sqlplus?这可能吗?
注意: ssh 不需要密码,因为我们使用authorized_keys,BUT 无密码sudo 不是一个选项,也不是直接使用su(我不是root,无法更改),命令需要是“sudo su - 甲骨文”正是如此。
谢谢
【问题讨论】: