Geo*_*uer 1 windows powershell scripting
我正在尝试执行以下行:
exit | sqlplus username/password@sid @test.sql
Run Code Online (Sandbox Code Playgroud)
从cmd工作得很好但在powershell中我得到"不允许空管元件"
为什么这样,我该如何解决?
好吧,exit命令没有输出,因此没有任何东西可以传递给管道,因此你得到一个空的管道元素.因此,虽然没有什么可以管理到另一个命令,但问题是它是否真的应该被执行.
此外,cmd中的shell-builtins(如exit,dir等)在Powershell中的工作方式可能不同.别名只是帮助你习惯.
修复这个问题可能很容易.因为没有什么可以传递给管道,你的陈述没有任何实际意义.你可能想跑
sqlplus username/password@sid @test.sql
exit
Run Code Online (Sandbox Code Playgroud)
ETA:正如您的评论表明完全不同的问题.您从此答案中复制了命令行错误.如果要在管道中稍后将文本 "exit"发送到命令,则需要以某种方式输出它.这可以在cmd和Powershell中完成echo.所以你不应该忽略echo这里:
echo exit | sqlplus username/password@sid @test.sql
或者,您可以直接将"exit"作为字符串发送到管道:
"exit" | sqlplus username/password@sid @test.sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2975 次 |
| 最近记录: |