gpt4 book ai didi

windows - Windows 批处理中 Bash 的 "-"是什么?

转载 作者:可可西里 更新时间:2023-11-01 10:54:41 25 4
gpt4 key购买 nike

在 Bash 中,变量 - 代表命令的标准输入并且对于管道到命令非常有用。我想知道 Windows 批处理文件中是否有等效项,但我似乎找不到答案。

这是我传统上在绝对必要时所做的事情(if 语句最有用):

<command> | set /p tmpvar=
if "%tmpvar%"=="whatever" rem stuff

我觉得用 Bash 做一些事情会更快更容易。这是 Bash 中的一个等效脚本,我想要一些像 Windows 批处理一样更简单的脚本(不需要 DOS 兼容性)。

<command> | if ("-" == "whatever" ) # stuff

有没有比上面第一个例子更简单的等价物?这会让事情变得容易得多。

最佳答案

In Bash, the variable - represents stdin

其实不然。 - 作为标准输入/输出的简写是 Unix 命令中的约定,但命令自己解释它;外壳与它无关。 echo - 只打印一个破折号。

在 DOS/Windows 中最接近此约定的是特殊文件名 CON,它被解释为 console。不过,我认为它对管道没有帮助——就像在 Unix 上一样,命令本身应该有某种方式告诉它们从标准输入读取数据。

关于windows - Windows 批处理中 Bash 的 "-"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20002181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com