我想运行以下命令。此命令将在 Linux 计算机(终端)上运行,并将通过 Windows 计算机 (mtbsvr2) 上的 bsub 提交作业:
"bsub -J shutdownMachines -o //noi/out.txt -e //noi/err.txt -m mtbsvr2 -q win_normal "for /f %i in ( 'bhosts -w pov_test ^| cut -d " " -f1 ^| tail -n +2' ) do shutdown -m \\%i /r /t 02"
//noi/err.txt的内容:
命令语法不正确。
我尝试了单引号和双引号的各种组合,但运行命令时没有成功。接下来我可以尝试什么?
您似乎在 Windows 上运行类似 UNIX 的命令
cut
和 tail
。
如果您还有
xargs
,您可以将 Windows for
循环替换为将命令输出通过管道传输到 xargs
,如
bhosts -w pov_test ^| cut -d " " -f1 ^| tail -n +2 ^| xargs -I {} shutdown -m \\{} /r /t 02
我不确定是否有必要像 Windows 那样引用管道字符。
如果字体可能不明确:
xargs
的占位符选项是大写i
,而不是小写L
。请参阅https://man7.org/linux/man-pages/man1/xargs.1.html