在 Windows Cygwin 中使用 XARGS 执行多个命令
Executing multiple commands with XARGS in Windows Cygwin
我有这个输出:
$ ./adb devices
List of devices attached
R9WM80DNNPJ device
(最终这将 return 多行设备,例如:
List of devices attached
R9WM80DNNPJ device
R9WM80DNNPA device
R9WM80DNNPB device
R9WM80DNNPC device
)
我正在尝试获取设备名称以将其传递给多个其他命令。试图最终得到一个看起来像这样的脚本(它比 echo ofc 做的更多):
adb devices | more +1 | cut -sf 1 | xargs -I % sh -c '{ ^
echo % ; ^
echo "Test %"; ^
}'
当我将命令全部放在一行时,cygwin 终端没有问题回显它:
当我将该命令移动到文件中时,它不再正常工作(第一行输出是所用命令的打印,但随后它不执行第一个回显):
而且运行多行命令也不行:
我的猜测是我对换行符做错了什么?还是与 sh -c
有关?或两者兼而有之!
移至默认参数列表标记 {}
已解决此问题!
adb devices | more +1 | cut -sf 1 | xargs -I {} sh -c {' ^
echo {}; ^
echo "Test {}"; ^
'}
我有这个输出:
$ ./adb devices
List of devices attached
R9WM80DNNPJ device
(最终这将 return 多行设备,例如:
List of devices attached
R9WM80DNNPJ device
R9WM80DNNPA device
R9WM80DNNPB device
R9WM80DNNPC device
)
我正在尝试获取设备名称以将其传递给多个其他命令。试图最终得到一个看起来像这样的脚本(它比 echo ofc 做的更多):
adb devices | more +1 | cut -sf 1 | xargs -I % sh -c '{ ^
echo % ; ^
echo "Test %"; ^
}'
当我将命令全部放在一行时,cygwin 终端没有问题回显它:
当我将该命令移动到文件中时,它不再正常工作(第一行输出是所用命令的打印,但随后它不执行第一个回显):
而且运行多行命令也不行:
我的猜测是我对换行符做错了什么?还是与 sh -c
有关?或两者兼而有之!
移至默认参数列表标记 {}
已解决此问题!
adb devices | more +1 | cut -sf 1 | xargs -I {} sh -c {' ^
echo {}; ^
echo "Test {}"; ^
'}