When running top -b -n 1, the command always returns the same CPU values. Consider the following test run 5 times in succession:
[user@server ~]$ top -b -n
if anyone is looking for a one line get the value of cpu then try this
top -b -n 5 -d.2 | grep "Cpu" | tail -n1 | awk '{print($2)}' | cut -d'%' -f 1