gpt4 book ai didi

Windows cmd 将一个命令的输出作为参数传递给另一个命令

转载 作者:可可西里 更新时间:2023-11-01 13:19:36 27 4
gpt4 key购买 nike

在 linux 中可以这样做:

git diff $(git status -s -b | sed -n '2p' | cut -d' ' -f2-)

或更简单的情况

ls $(pwd) 

问题是如何在 Windows 中实现相同的目的? (不使用批处理文件,命令提示符中的一行)。并非所有命令都支持管道,那么我们如何评估一个命令并将结果作为参数传递给另一个命令呢?

我试过管道和 <>但都没有用。

git diff < (git status -s -b | sed -n '2p' | cut -d' ' -f2-) 

自己尝试一下,它需要一个文件。和 |也不能作为 git diff不支持

git status -s -b | sed -n '2p' | cut -d' ' -f2- | git diff // results in illegal seek

最佳答案

没有$ cmd 中的运算符.
重定向运算符( <>>> )需要文件或流句柄。
一根 pipe |将一个命令的标准输出传递到另一个命令的标准输入。

A for /F loop但是能够捕获命令的输出并在变量引用中提供它(示例中的 %A);看下面的代码:

for /F "usebackq delims=" %A in (`git status -s -b ^| sed -n '2p' ^| cut -d' ' -f2-`) do git diff %A

关于Windows cmd 将一个命令的输出作为参数传递给另一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43225925/

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