You're not using backticks. Use ` (aka grave accent, aka U+0060) (found in the top-left on American keyboards) instead of ´ (aka acute accent, aka U+00B4).
For example, the following works fine:
x=0
while [ $x -lt 10 ]; do
echo $x
x=`echo "$x + 1" | bc`
done
The only difference between yours and mine are the ticks used to quote echo "$x + 1" | bc.
That being said, if you happen to be using bash (or a bash-like shell), there are much better ways of making the same loop. For example:
x=0
while (( x++ < 10 )); do
echo $x
done
This has the advantage of being both faster (because it doesn't call to outside programs) and easier to read (because it uses more traditional coding syntax).
letfor arithmetic operations i.e.while [ $x -lt 10 ]; do echo $x; let x=x+1; done(( ))instead of let.