【正确答案】
A
【答案解析】 bash是一个为GNU(GNU is Not Unix的递归缩写)计划编写的Unix Shell,它的名字是一系列缩写:Boutlle-Again Shell。它是大多数Linux系统以及Mac OS X v10.4默认的Shell,能运行于大多数Unix风格的操作系统之上,甚至被移植到Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到MS-DOS上。
bash的命令语法是Bourne Shell命令语法的超集。本题中,对于选项A,$#用来表示执行bash程序时命令行参数的个数。所以,选项A正确。
对于选项B,$$用来表示当前脚本运行的进程ID。所以,选项B错误。
对于选项C,$@用来表示参数列表。所以,选项C错误。
对于选项D,$?命令表示函数或者脚本自身的退出状态,用于检查上一个命令、函数或者脚本执行是否正确。所以,选项D错误。
所以,本题的答案为A。