问题
单项选择题
在UNIX操作系统中,若用户键入的命令参数的个数为1时,执行cat$1命令;若用户键入的命令参数的个数为2时,执行cat>$2<$1命令。请将下面所示的Shell程序的空缺部分补齐。
case () in
1)cat$1;;
2)cat>$2<$1;;
*) echo ’default...’
esac
A.$$
B.$@
C.$#
D.$*
答案
参考答案:C
解析:
[分析]: 本题考查的是UNIX中Shell定义变量的使用问题。Shell变量的变量名如果是“$$”,指的是当前命令的进程标识数。$*的含义是代表所有的位置变量,相当于$1,$2,$3,…。Shell变量的变量名如果是“$@”,含义与“$*”基本相同,只是当用双引号转义时,“$@”还能分解为多个参数,而“$*”则合并成一个参数。变量“$#”表示位置参数的个数,但不包括命令名。