我从未见过以下shell脚本语法:
cpu_now=($(head -n 1 /proc/stat))
cpu_sum="${cpu_now[@]:1}"
cpu_sum=$((${cpu_sum// /+}))
任何人都可以解释一下${cpu_sum// /+}
的意思吗?
答案 0 :(得分:5)
它与$cpu_sum
相同,但所有(空格)都被
+
替换。 (见§3.5.3 "Shell Parameter Expansion" in the Bash Reference Manual。)
答案 1 :(得分:3)
cpu_sum=$((${cpu_sum// /+}))
实际上是两步操作:
+
${cpu_sum// /+}
替换
$((...))
算术添加来添加$cpu_sum
变量中的所有数字,以获得总和。示例:强>
# sample value of cpu_sum
cpu_sum="3222 0 7526 168868219 1025 1 357 0 0 0"
# all spaced replaced by +
echo ${cpu_sum// /+}
3222+0+7526+168868219+1025+1+357+0+0+0
# summing up al the values and getting aggregate total
echo $((${cpu_sum// /+}))
168880350