shell中的$# -eq是什么意思

nic*_*fly 2 shell

我是 shell 脚本的新手,在下面的 shell 脚本中

#!/usr/bin/env sh
PREFIX=${PREFIX-/usr/local}
VERSIONS_DIR=$PREFIX/n/versions

test -d $VERSIONS_DIR || mkdir -p $VERSIONS_DIR

if test $# -eq 0; then
Run Code Online (Sandbox Code Playgroud)

$# -eq 0这个shell脚本中的意思是什么?

nic*_*fly 5

$# = number of arguments. Answer is 3
$@ = what parameters were passed. Answer is 1 2 3
$? = was last command successful. Answer is 0 which means 'yes'
Run Code Online (Sandbox Code Playgroud)