远程服务器上生成文件的问题。

问题遇到的现象和发生背景

linux 环境有A,B两台服务器。 本地是A。想在B上取得结果,在本地上生成LOG。 前提条件(在B上,不可以生成临时文件。)
本想用, 下面的SSH就解决了。
ssh user1@B "sqlplus u/p@s <<EOF 1>log1.log select * from dual; EOF"

①结果报错,sqlplus 找不到。 我不知道,提示对不对。本身A或B不通过·ssh的话,都是可以执行sql的。
这条路,不知道该怎么解决。
②换一个想法。 切换登录B,让LOG生成在A上。可能吗?

第一种思路:解决方法
ssh oracle@192.168.10.10 "source ~/bash_profile;sqlplus system/oracle@10.168.10.11:1521/zzsid <<EOF 回车
select * from dual; 回车
EOF 回车
" 1>log1.log 回车

你应该是没有刷新环境变量,导致读取不到sqlplus命令和oracle_home,按照我这种方法就可以了

脚本中的命令采用绝对路径试试

@不爱运动的跑者
非常感谢。
@real向往
非常感谢。问题解决了。 多谢指教。