Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';回显时是否在windows CMD中转义管道字符?_Cmd_Pipe_Plink - Fatal编程技术网

Can';回显时是否在windows CMD中转义管道字符?

Can';回显时是否在windows CMD中转义管道字符?,cmd,pipe,plink,Cmd,Pipe,Plink,我正在尝试通过echo将一些命令通过串行组件传输到linux设备。大多数短命令都可以工作,但当我与需要管道字符“|”的linux命令结合使用时,它就会中断。这是有道理的,因为cmd或echo认为它是一个cmd命令,它正试图通过管道发送到该命令。我试着用 “^|”以转义管道字符,但其不起作用 我试过: echo ble_util | head -n 10 | plink -serial COM17 -sercfg 115200 'head' is not recognized as an inte

我正在尝试通过echo将一些命令通过串行组件传输到linux设备。大多数短命令都可以工作,但当我与需要管道字符“|”的linux命令结合使用时,它就会中断。这是有道理的,因为cmd或echo认为它是一个cmd命令,它正试图通过管道发送到该命令。我试着用 “^|”以转义管道字符,但其不起作用

我试过:

echo ble_util | head -n 10 | plink -serial COM17 -sercfg 115200
'head' is not recognized as an internal or external command,
operable program or batch file.
再次说明,这是有道理的,因为cmd认为我正在尝试将管道插入头部……但随后我尝试:

echo ble_util ^| head -n 10 | plink -serial COM17 -sercfg 115200
'head' is not recognized as an internal or external command,
operable program or batch file.

同样的问题,唯一的区别是控件没有返回到cmd,我必须ctrl+c才能重新获得控件

然后我试着:

echo ble_util ^| head -n 10 ^| plink -serial COM17 -sercfg 115200
ble_util | head -n 10 | plink -serial COM17 -sercfg 115200
显然,这是可行的

有什么想法吗


提前谢谢

您是否尝试将cmd
echo
替换为PowerShell
echo
<代码>powershell-命令“echo'echo aaa | grep aaa'| plink…?您的第一个和第二个示例的行为应该有所不同。您可以尝试
echo ble_util^^^^ head-n 10 | plink-serial COM17-sercfg 115200
@LotPings我可以确认OP看到的行为(在Windows 10上)。@MartinPrikryl在我的本地路径中有或没有head,带转义的
^ |
我得到
'plink不能识别为内部或外部命令
,所以我有点不知所措(WIn10Pro)@lit我相信,OP想将
ble|u util | head-n10
作为文本字符串/输入发送到
plink
(在连接的Linux设备上执行)。您是否尝试过用PowerShell
echo
替换cmd
echo
<代码>powershell-命令“echo'echo aaa | grep aaa'| plink…?您的第一个和第二个示例的行为应该有所不同。您可以尝试
echo ble_util^^^^ head-n 10 | plink-serial COM17-sercfg 115200
@LotPings我可以确认OP看到的行为(在Windows 10上)。@MartinPrikryl在我的本地路径中有或没有head,带转义的
^ |
我得到
'plink不能识别为内部或外部命令
,所以我有点不知所措(WIn10Pro)@lit我相信,OP希望将
bleuutil | head-n10
作为文本字符串/输入发送到
plink
(在连接的Linux设备上执行)。