我目前正在为一个带有c ++的小游戏卡项目工作,但我需要一些统计数据,在这里我想平均获得胜利前的回合数。我尝试使用bash来做,但是我有一点错误,而且我对bash很新。
这是代码:
#!/bin/bash
i="1"
moyenne="1"
while [ $i -le 40 ]
do
moyenne = $(($moyenne + ./a.out 2>&1 | tail -1))
((i++))
done
并且有我的错误
./ script.sh:line 7:1 + ./a.out 2>& 1 | tail -1:语法错误:操作数预期(错误标记为" ./ a.out 2>& 1 | tail -1")
答案 0 :(得分:1)
两个问题:等号周围的空格--Bash对此敏感 - 以及添加(+)两个操作数的方式,而不用$()
进行评估。
我不确切地知道你的a.out
返回了什么,但用一个简单的echo 1
替换它,这加起来就是41:
moyenne=$(($moyenne + $(echo 1 2>&1 | tail -1)))