【发布时间】:2015-10-25 14:25:57
【问题描述】:
由于$# 似乎无法在搜索引擎上正确搜索,因此很难找到答案。我很好奇为什么argv 通常包含命令名称本身,而$# 不包含。
为了更清楚,如果我有一个名为 testing.sh 的脚本
#!/bin/bash
echo $#
./testing.sh 返回 0 而不是 1。为什么?
【问题讨论】:
-
顺便说一句,将来,您可能会标记此类问题
sh而不是bash- 因为它存在于 POSIX sh 中,标准 bash 主要试图遵守(就像 ksh, ash/dash 等)。带有 Bash 标签的问题往往只会被那些了解 bash 的人查看,而熟悉 ksh 或 POSIX sh 本身但不熟悉 bash 扩展的人通常也会查看带有 sh 标签的问题。