Bash 用于查找阶乘的脚本

Bash script to find factorial

程序接受输入但显示以下错误,如何解决这些错误?

实际上,在第 7 行,您忘记了完成反引号。

[不只是语法,它是一个命令,所以需要space来分隔从它的论点。

while [ $counter -le $number ]
# .....^....................^

确保验证 number 实际上只是数字。

其他一些评论:

我认为你需要在 [ 之后和 ] 之前添加一个 space:

#!/bin/bash

echo "Enter the number to find it's factorial"
read number
total=1
counter=1
while [ $counter -le $number ];
do
    total=` expr $counter \* $total`
    counter=` expr $counter + 1`
done
echo $total

在Ubuntu这里工作:

$ ./factorial.sh 
Enter the number to find it's factorial
5
120