Queste variabili sono variabili di shell. Per espanderli come parametri in un altro programma (ie expr
), devi utilizzare il $
prefisso:
expr $x / $y
Il motivo per cui si è lamentato è perché pensava che stavi cercando di operare su caratteri alfabetici (ie non intero)
Se stai usando la shell Bash, puoi ottenere lo stesso risultato usando la sintassi dell'espressione:
echo $((x / y))
Oppure:
z=$((x / y))
echo $z
Credo che sia già stato menzionato in altri thread:
calc(){ awk "BEGIN { print "$*" }"; }
quindi puoi semplicemente digitare :
calc 7.5/3.2
2.34375
Nel tuo caso sarà:
x=20; y=3;
calc $x/$y
o se preferisci, aggiungilo come script separato e rendilo disponibile in $PATH in modo da averlo sempre nella tua shell locale:
#!/bin/bash
calc(){ awk "BEGIN { print $* }"; }