- function addem {
- if [ $# -eq 0 ] || [ $# -gt 2 ]
- then
- echo -1
- elif [ $# -eq 1 ]
- then
- echo $[ $1 + $1 ]
- else
- echo $[ $1 + $2 ]
- fi
- }
-
- echo -n "Adding 10 and 15:"
- value=`addem 10 15`
- echo $value
-
- echo -n "Let's try adding just one number: "
- value=`addem 10`
- echo $value
-
- echo -n "Now trying adding no number: "
- value=`addem`
- echo $value
-
- echo -n "Finally, try adding three or more numbers: "
- value=`addem 10 15 20`
- echo $value
$# 是在 Bash 或 zsh 等 shell 中用来获取命令行参数数量的变量。具体来说,$# 变量的值是一个整数,表示当前脚本或命令行工具接收到了多少个参数。
在这个例子中,$# -eq 0 是一个条件表达式,用于检查当前脚本或命令行工具接收到了多少个参数。具体来说,$# 变量的值是一个整数,表示当前脚本或命令行工具接收到了多少个参数。如果参数数量等于 0,则表达式的值为 true,否则为 false。