bash 错误:缺少 '))'

bash 错误:缺少 '))'
#!/bin/sh

echo "welcome to salary calculator"
echo "Enter basic salary"
read basic
dp=$(( basic / 2 ))
da=$((( basic + dp ) * 35) / 100)
hra=$((( basic + dp ) * 8 )/ 100)
ma=$((( basic + dp ) * 8 ) / 100)
pf=$((( basic + dp ) * 10 ) / 100)
salary=$((((( basic + dp) + da ) + hra ) + ma - pf ))
echo "salary is=$salary"

答案1

您需要将外壳数学括起来$(( ... ))

所以数学需要是:

dp=$((    basic / 2                ))
da=$((  ((basic + dp) * 35 ) / 100 ))
hra=$(( ((basic + dp) *  8 ) / 100 ))
ma=$((  ((basic + dp) *  8 ) / 100 ))
pf=$((  ((basic + dp) * 10 ) / 100 ))
salary=$(( ((((basic + dp ) + da ) + hra) + ma - pf) ))

您可以在其中放置额外的空格$(( .. ))来格式化行以提高可读性。

相关内容