Perché bash pensa che il numero 010 = 8?
x=010
echo $x
010
echo $(( x+0 ))
8
echo $(( x-2 ))
6
Ho pensato che potesse essere binario, ma 010 = 10 = 2. Quindi, perché ottiene 8, e come posso farlo pensare 010 = 10 (e 010 - 2 = 8)?
010significa 8 perché mettendo un 0davanti significa ottale, simile a come mettere 0xin alcune lingue significa esadecimale.
0innesca ottale, 0xesadecimale e 0bbinario.
0dice che è ottale. Se solo farex=10alloraecho $((x+0))poi spettacoli10. Inoltre, non è necessario il supplemento$con in().