【发布时间】:2021-08-16 18:13:18
【问题描述】:
你好,所以我一直在制作一个小的跨平台脚本,我可以 curl 和管道进入 bash 和 Powershell。基本思想是服务器向解释器发送一个命令,然后它给出一个命令将所有输出重定向到标准输出。 bash 中的一个例子是
#some commands
aplay rick.wav
cat -
random text
that will be redirected to stdout by cat...
bash will never see this
然后我会将其通过管道传输到 bash 的标准输入
但对于 Powershell,我可以使用 cat test.ps1 | iex 或 cat test.ps1 | powershell -
但不能在cat - 之类的命令中连续将标准输入重定向到标准输出,因为 cat 不会从标准输入中查找。
在尝试了很多随机的东西之后,似乎有很多 Windows 的标准输入类型,一种是键盘,另一种是管道
【问题讨论】:
-
顺便说一句:Windows 不附带
cat可执行文件,而在 PowerShell 中cat只是Get-Content的 别名,它没有t 接受管道输入。
标签: bash powershell pipe cross-platform