İki dizin arasındaki dosyaların sayılarını çıkarmak için aşağıdaki betiğe sahibim, ancak COUNT=
ifadesi çalışmıyor. Doğru sözdizimi nedir?
#!/usr/bin/env bash
FIRSTV=`ls -1 | wc -l`
cd ..
SECONDV=`ls -1 | wc -l`
COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found' error
echo $COUNT
Harici bir program expr
kullanmaya çalışmak yerine bu Bash sözdizimini deneyin:
count=$((FIRSTV-SECONDV))
Bu arada, expr
kullanımının doğru sözdizimi şöyledir:
count=$(expr $FIRSTV - $SECONDV)
Ancak expr
kullanmanın yukarıda verdiğim dahili Bash sözdiziminden daha yavaş olacağını unutmayın.
Bash'te matematiği hep bu şekilde yaparım:
count=$(echo "$FIRSTV - $SECONDV"|bc)
echo $count