解析:本题考查的是UNIX系统中Shell变量方面的知识。在UNIX系统中,Shell变量可分为三种类型:用户定义变量、系统定义变量和Shell定义变量。用户定义变量必须以字母或下划线开始,可以包含字母、下划线和数字的字符序列。用户定义的Shell变量能用赋值语句置初值或重置值。例如:ux=UNIX。系统定义变量$LOGNNAME的含义是用户的注册名;系统定义变量$HOME的含义是用户主目录名。Shell定义变量$$表示当前命令的进程标识数;shell定义变量$@表示所有位置参量,即相当于$1,$2,$3,…,其含义与$*基本相同,但当用双引号转义时,“$@”还是能分解成多个参数,但“$*”则合并成一个参数。Shell命令echo将它的实参写到标准输出上;echo可用于在命令文件中产生诊断信息,向管道发送已知数据以及显示环境变量的内容。例如,命令echo This is my book的含义是在屏幕上显示This is my book。综上分析,实现显示用户主目录以及当前命令的进程标识符的正确答案为D。