在UNIX操作系统中,若用户键入的命令参数的个数为1时,执行cat$1命令;若用户键入的命令参数的个数为2时,执行cat>>$2<$1命令。请将下面所示的Shell程序的空缺部分补齐。 case ______ in 1)cat $1;;

admin2019-06-08  25

问题 在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.$*

选项 A、 
B、 
C、 
D、 

答案C

解析 选项A的“$$”是一个Shell状态变量,用于表示当前命令的进程标识数。
   选项B的“$@”是一个Shell参数变量,用于表示所有位置参量,即相当于$1,$2,$3……。当用双引号转义时,”$@”还是能分解成多个参数。
   选项C的“$#”是一个Shell参数变量,用于表示位置参数的个数,但不包括命令名。
   选项D的“$*’’是一个Shell参数变量,用于表示所有位置参量,即相当于$1,$2,$3……。当用双引号转义时,“"$*"则合并成一个参数。
   由于试题给出了“用户键入的命令参数的个数”关键信息,因此该空缺处的正确答案是$#。
   本试题中使用case语句实现编程中多选一的控制结构。cat命令用于查看文件内容,从键盘读取数据,合并文件等。格式:cat [-b][-A][-E][-T][-n][-s][-v]文件名。例如,“$cat-n file”命令将显示出file文件中的行号。
转载请注明原文地址:https://jikaoti.com/ti/3oJ7FFFM
0

最新回复(0)