如何将括号发送到以括号为界的管道中?

Posted

技术标签:

【中文标题】如何将括号发送到以括号为界的管道中?【英文标题】:How to send parenthesis into pipe bounded by parenthesis? 【发布时间】:2017-07-14 19:34:24 【问题描述】:

在 Windows .bat 文件中,我可以像这样使用重定向:

(echo connect / as sysdba
echo select sysdate from dual;
echo exit
) | sqlplus -s /nolog

它会运行(显然这个例子什么都不做)。如何将括号传递为这种格式的查询,例如:

(echo connect / as sysdba
echo select trunc(sysdate) from dual;
echo exit
) | sqlplus -s /nolog

不炸管?

【问题讨论】:

用插入符号 ^) 转义 echo 中的右括号 【参考方案1】:

您需要在右括号之前添加三个插入符号。

(
echo connect / as sysdba
echo select trunc(sysdate^^^) from dual;
echo exit
) | more

为什么? 在第一种情况下,您需要一个插入符号来转义括号以避免该块已关闭。

( echo test (test^) )

但是当你使用管道时,完整的结构被打包并转移到一个新的命令 exe。 在那里您需要第二次插入符号,但要转换此插入符号,您需要在原始回显中添加两个插入符号。 因此,您总共需要三个。

【讨论】:

以上是关于如何将括号发送到以括号为界的管道中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在山魈的车把表达式内发送花括号?

如何根据以经纬度为界的形状确定面积?

如何在 URI 中转义大括号

需要帮助阅读不在括号 [] 内的 Json 对象列表

发送 get 请求时不带括号返回

如何解析web api帖子体中的方括号?