Bash 将脚本转换为windows 10 powershell版本
我的Python2.7和pypy(使用virtualenv)都在windows10环境下。从仿真软件中的自述文件中,下面在Bash命令中包含一个“for loop”脚本。我如何将下面的“for loop”(三行)Bash命令转换为等效的Windows 10 Powershell命令 “最好并行运行多个进程,例如:Bash 将脚本转换为windows 10 powershell版本,bash,powershell,Bash,Powershell,我的Python2.7和pypy(使用virtualenv)都在windows10环境下。从仿真软件中的自述文件中,下面在Bash命令中包含一个“for loop”脚本。我如何将下面的“for loop”(三行)Bash命令转换为等效的Windows 10 Powershell命令 “最好并行运行多个进程,例如: $ for i in {1..10}; do $ time $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $ $ done
$ for i in {1..10}; do
$ time $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $
$ done
- 然后获取所有跑步的统计信息:
- 这将把统计数据输出到stdout,并以gnuplot格式生成转储。”
(my-pypy-env) PS C:\Users\Acer\dev\pypy27home\my-pypy-env\SimpleDA-master> for ( $i = 1; $i -le 10; $i++) {
>> $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $
>> done}
At line:2 char:7
+ $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $
+ ~~~~~~~
Unexpected token 'epto.py' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
- 在使用PowerShell创建的数组
的元素上循环;诸如1..10
之类的复合语句体始终包含在PowerShell中的foreach
中{…}
- PowerShell相当于Bash的
builtin;将其执行作为脚本块传递的命令(time
){…}
- 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
中默认创建“Unicode”-UTF16-LE-文件(在PowerShell Core中是UTF-8,没有BOM)
是cmdlet的有效别名;要使用不同的编码,请将管道连接到它并使用
参数(例如,-encoding
),但请注意,在Windows PowerShell..| Out File-encoding utf8 conf_epto/run-$i.log
总是创建一个带有BOM的UTF-8文件中,编码utf8
将其结果直接输出到终端而不是标准输出;同样如此;它绕过了PowerShell的标准输出等价物time
- 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
- PowerShell需要使用
,来执行名称或路径指定为变量的命令(&
);此要求源于PowerShell具有两个不同的功能$pypy
- 在使用PowerShell创建的数组
的元素上循环;诸如1..10
之类的复合语句体始终包含在PowerShell中的foreach
中{…}
- PowerShell相当于Bash的
builtin;将其执行作为脚本块传递的命令(time
){…}
- 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
中默认创建“Unicode”-UTF16-LE-文件(在PowerShell Core中是UTF-8,没有BOM)
是cmdlet的有效别名;要使用不同的编码,请将管道连接到它并使用
参数(例如,-encoding
),但请注意,在Windows PowerShell..| Out File-encoding utf8 conf_epto/run-$i.log
总是创建一个带有BOM的UTF-8文件中,编码utf8
将其结果直接输出到终端而不是标准输出;同样如此;它绕过了PowerShell的标准输出等价物time
- 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
- PowerShell需要使用
,来执行名称或路径指定为变量的命令(&
);此要求源于PowerShell具有两个不同的功能$pypy
(my-pypy-env) PS C:\Users\Acer\dev\pypy27home\my-pypy-env\SimpleDA-master> for ( $i = 1; $i -le 10; $i++) {
>> $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $
>> done}
At line:2 char:7
+ $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log $
+ ~~~~~~~
Unexpected token 'epto.py' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
foreach ($i in 1..10) {
Measure-Command { & $pypy epto.py conf_epto/ $i > conf_epto/run-$i.log } | Out-Host
}
& $pypy genStats.py conf_epto 10