Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将脚本转换为windows 10 powershell版本_Bash_Powershell - Fatal编程技术网

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

我的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
  • 然后获取所有跑步的统计信息:
  • 这将把统计数据输出到stdout,并以gnuplot格式生成转储。”
我尝试运行Powershell命令,但遇到错误:

(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
    的元素上循环;诸如
    foreach
    之类的复合语句体始终包含在PowerShell中的
    {…}

  • PowerShell相当于Bash的
    time
    builtin;将其执行作为脚本块传递的命令(
    {…}

    • 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
      中默认创建“Unicode”-UTF16-LE-文件(在PowerShell Core中是UTF-8,没有BOM)
      是cmdlet的有效别名;要使用不同的编码,请将管道连接到它并使用
      -encoding
      参数(例如,
      ..| Out File-encoding utf8 conf_epto/run-$i.log
      ),但请注意,在Windows PowerShell
      中,编码utf8
      总是创建一个带有BOM的UTF-8文件

    • time
      将其结果直接输出到终端而不是标准输出;同样如此;它绕过了PowerShell的标准输出等价物

  • PowerShell需要使用
    &
    ,来执行名称或路径指定为变量的命令(
    $pypy
    );此要求源于PowerShell具有两个不同的功能

  • 在使用PowerShell创建的数组
    1..10
    的元素上循环;诸如
    foreach
    之类的复合语句体始终包含在PowerShell中的
    {…}

  • PowerShell相当于Bash的
    time
    builtin;将其执行作为脚本块传递的命令(
    {…}

    • 脚本块中的命令与Bash中的命令基本相同,只是在Windows PowerShell
      中默认创建“Unicode”-UTF16-LE-文件(在PowerShell Core中是UTF-8,没有BOM)
      是cmdlet的有效别名;要使用不同的编码,请将管道连接到它并使用
      -encoding
      参数(例如,
      ..| Out File-encoding utf8 conf_epto/run-$i.log
      ),但请注意,在Windows PowerShell
      中,编码utf8
      总是创建一个带有BOM的UTF-8文件

    • time
      将其结果直接输出到终端而不是标准输出;同样如此;它绕过了PowerShell的标准输出等价物

  • PowerShell需要使用
    &
    ,来执行名称或路径指定为变量的命令(
    $pypy
    );此要求源于PowerShell具有两个不同的功能


很高兴听到这个消息,@caseyeow;我的荣幸。很高兴听到这个消息,@caseyeow;我的荣幸。
(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