Diese Variablen sind Shell-Variablen. Um sie als Parameter für ein anderes Programm zu erweitern (dh expr
), müssen Sie den $
verwenden Präfix:
expr $x / $y
Der Grund, warum es sich beschwert hat, ist, dass es dachte, Sie versuchten, mit alphabetischen Zeichen zu arbeiten (dh nicht ganzzahlig)
Wenn Sie die Bash-Shell verwenden, können Sie dasselbe Ergebnis mit der Ausdruckssyntax erzielen:
echo $((x / y))
Oder:
z=$((x / y))
echo $z
Ich glaube es wurde schon in anderen Threads erwähnt:
calc(){ awk "BEGIN { print "$*" }"; }
dann können Sie einfach :
eingebencalc 7.5/3.2
2.34375
In Ihrem Fall wird es sein:
x=20; y=3;
calc $x/$y
oder wenn Sie es vorziehen, fügen Sie dies als separates Skript hinzu und stellen Sie es in $PATH zur Verfügung, damit Sie es immer in Ihrer lokalen Shell haben:
#!/bin/bash
calc(){ awk "BEGIN { print $* }"; }