在远程服务器上执行Shell脚本::提供sqlplus:命令未找到

时间:2018-08-23 21:20:31

标签: linux shell

我有两个服务器服务器A ,其中有一个shell脚本-'Process_Backup.sh'。

我在服务器A-'./Process_Backup.sh'上执行了该脚本,并且执行得很好。基本上,此脚本连接到服务器A上的oracle数据库并执行一个过程。

我需要做的是从另一个服务器B 在服务器A上执行脚本'Process_Backup.sh'。

我尝试从服务器B

执行以下命令
ssh test@server1.xxx.com "cd Scripts/Shell; ./Process_Backup.sh"

但是我遇到以下错误-

line 49: sqlplus: command not found

我在服务器A上安装了所有软件,所以不确定为什么会出现此错误。我是Linux环境的新手。我已经解决了这里发布的大多数问题,但我的情况似乎有所不同。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

Oracle安装了文件oraenv,该文件设置了一些环境变量,包括诸如sqlplus之类的命令所在的PATH。启动登录Shell时会包含该文件,该命令可能是由安装程序创建的。

使用

ssh test@server1.xxx.com "source /path/to/oraenv; cd Scripts/Shell; ./Process_Backup.sh"

文件oraenv可能位于/usr/local下方。