我正在尝试让shell脚本在Windows中运行。对不起,但我对Windows不是很有经验(说实话,甚至在shell中也是如此)。除了这一行之外,该脚本运行良好:
print "9\n0\n1\n5\n0\n0\n\n" | /usr/ts23/mm_util
mm_util
是一个以数字作为输入的交互式实用程序。它首先选择9,然后选择0,然后选择1等。我已经改变了使用该实用程序的路径,该实用程序在Windows中具有相同的界面,但输出只是第一个屏幕。未输入“9”输入,因此输出(已解析)不正确。如何更改此设置以便在第一个屏幕上输入“9”?
答案 0 :(得分:1)
尝试将九行内容放入文本文件中,然后执行print textfile.txt | /usr/ts23/mm_util
请记住,Windows使用行前CR LF
的UNIX之前约定,而不仅仅是LF
。
答案 1 :(得分:1)
我得到输出的方式是使用这个:
C:\ Users \ ts23 \ mm_util<的test.txt
然后将以下内容放在test.txt
中9
0
1
5
0
0
我得到的输出是我所需要的,希望这将有助于某些人在将来尝试做这样的事情。
答案 2 :(得分:1)
这是一个不需要文件的方法。它适用于命令行:
(for %N in (9 0 1 5 0 0 "") do @echo(%~N)|c:\Users\ts23\mm_util
""
是在输出中得到一个空行,就像在原始问题中一样。你的答案没有空白行。
%~N
符号用于封闭值的引号。
echo(
是非直观的语法,可以可靠地打印空行,以防%~N
扩展为空。
如果将代码放在批处理脚本中,请不要忘记将百分比加倍。