小编Wan*_*der的帖子

打印 1-50 之间的数字

x=1
while [ $x -le 50 ]
do
    echo $x
    $x=(($x + 1))
done
Run Code Online (Sandbox Code Playgroud)

我已经写了上面的代码。在许多编程语言中似乎是一项简单的任务,却为我提供了这个错误。

solution.sh: line 5: syntax error near unexpected token `('
solution.sh: line 5: `    $x=(($x + 1))'
Run Code Online (Sandbox Code Playgroud)

如何调试 bash 中的错误。有没有IDE?

bash shell-script

8
推荐指数
4
解决办法
5万
查看次数

计算表达式并四舍五入到三位小数

我有一个表达式,"5+50*3/20 + (19*2)/7"我需要将它四舍五入到小数点后 3 位。答案是17.92857142857143。当我使用下面的脚本时,它给了我17.928. 答案应该是17.929

read exp
echo "scale=3; $exp" |bc -l
Run Code Online (Sandbox Code Playgroud)

还有一个问题是如何使用printf来完成相同的任务

bash shell-script arithmetic bc floating-point

4
推荐指数
1
解决办法
6770
查看次数

标签 统计

bash ×2

shell-script ×2

arithmetic ×1

bc ×1

floating-point ×1