我有安装Oracle 10G的RHEL服务器。 我需要编写一个PowerShell脚本来查询我的数据库并获得输出。 我已经导入了Posh-SSH模块,并且能够连接到我的RHEL服务器并使用Invoke-SSHCommand执行命令,但是,我需要使用Invoke-SSHCommand来执行sqlplus命令。 通常情况下,我们可以使用EOF在perl中实现这一点,但是我们无法find任何方式使用PowerShell来完成这个任务。
使用EOF的Perl代码:
$command="export ORACLE_SID=database sqlplus -S user/password<< EOF set feedback off select username from dba_users; EOF"
我的Powershell代码:
$command="export ORACLE_SID=database sqlplus -S user/password<< EOF set feedback off select username from dba_users; EOF" $result = Invoke-SSHCommand -Index 0 -Command $command Write-Output $result
我的Powershell输出:
Host : XX.XX.XXX.XXX Output : ExitStatus : 127
我猜,EOF字符可以被Powershell理解。
任何人都可以帮助我转换为PowerShell? 我尝试了很多方法,但都是徒劳的。 每次我执行这个代码,我得到退出代码:127。
你在Linux上使用的那个“EOF”string不是和字符。 你正在使用“这里的文件”。 EOF只是perl的一个string,可以知道你的文档在哪里结束。 我总是使用不可能在这里find的东西,比如fInI。
电源shell。 是啊。 我们的噩梦*尼克斯人。