如何使用Powershell

时间:2019-02-06 04:19:06

标签: powershell

我正在Windows Powershell下使用Shell脚本进行循环操作。具有循环元素的简单float计算如下所示:

for L2 in 0.95 0.5 0.05
  do
    L1=$((1.0-$L2))
    echo $L1
done

我希望:

L1应该是0.05、0.5、0.95

但是出现以下错误消息:

1.0-0.95: syntax error: invalid arithmetic operator (error token is ".0-0.95")

我注意到有人建议添加“ | bc”来进行浮点计算,例如:

L1=$((1.0-$L2) | bc)

但是powershell似乎没有bc选项并返回:

 1.0-0.05: command not found
 bc: command not found
 L1 Value:

1 个答案:

答案 0 :(得分:2)

您似乎正在尝试在Windows Shell中使用Unix构造($((...)))。 PowerShell不了解arithmetic operations

 $L1 = 1.0 - $L2

请注意,目标变量的前缀为$,与bash也不同。

您的循环语法也是bash特定的。您将必须使用适当的forforeach循环,而不是原来的循环。

总而言之,您必须考虑到Windows PowerShell不是Unix shell,尤其不是bash,并相应地编写代码。