1

我在实用程序 ksh 脚本的开头找到了 '$#' 语句,但我无法找到有关 '$#' 含义的任何信息。用法:

if [[ $# -ne 1 ]];then
LogMessage "Usage:\nJavaWSJBossInstall! war_file"
exit
fi

谁能解释一下这是什么意思?非常感谢。

4

5 回答 5

3

shell 变量#是脚本的参数数量。$1您可以以等方式访问它们$2

于 2013-01-08T14:12:17.683 回答
1

它计算传递给脚本的命令行参数的数量。

寻找这种东西的最佳位置是Bash 手册。在这种特殊情况下,您对特殊参数部分感兴趣。 (哎呀,这是 ksh,而不是 Bash)。

于 2013-01-08T14:12:14.690 回答
1

$# 表示提供给脚本的命令行参数的数量。在您的情况下,它会检查是否只有一个参数传递给它,否则会打印一些解释用法的字符串。

于 2013-01-08T14:12:32.553 回答
0

man ksh$#给出命令行参数的数量。该if语句也可以写成:

if (( $# != 1 ));
于 2013-01-08T14:13:07.233 回答
0

该变量#包含传递给脚本的参数数量。如果你这样称呼你的脚本:

 script foo bar

然后$#会给你价值2

于 2013-01-08T14:13:10.227 回答