#!/bin/bash
f=1
c=$1
while [[ $c != 0 ]]
do
$f=$(($c*$f))
$c=$(($c-1))
done
echo $c
Run Code Online (Sandbox Code Playgroud)
我一直在收到错误
./process.sh: line 8: 1=0: command not found
./process.sh: line 7: 5=5: command not found
Run Code Online (Sandbox Code Playgroud)
跑步时 ./process.sh 5
的$意思是"价值",因此$f被评价为字符串文字1.所以...
$f=$(($c*$f))
$c=$(($c-1))
Run Code Online (Sandbox Code Playgroud)
应该
f=$(($c*$f))
c=$(($c-1))
Run Code Online (Sandbox Code Playgroud)