问题 单项选择题

下列Shell程序的功能是,如果该程序执行时的参数个数为1则将由第一个参数指定的文件复制到/home/user1中,否则用vi打开这个文件。请将这个程序补全。
if [ ______ = 1]
then
cp ______ $ HOME/user1
fi
vi ______
exit 0

A.$$
B.$#
C.$*
D.$@

答案

参考答案:B

解析:$$表示当前进程的进程标识号(PID);$#表示命令行上的参数个数,但不包括命令;$*表示命令行上的所有参数值;$@是用双引号引用命令行上的所有参数;$0表示命令的本身;$1~$9表示命令行上的第一到第九个参数。由此可知第1个空应使用$#,第2个空和第3个空应使用$1。

单项选择题
单项选择题