Shell及Linux常见易错题目题库-Shell/Linux-选择、简答、判断、编程

时间:2022-10-07 16:58:08

1、以下不合法的shell头是(不合法指运行会报错)(   )

A. #!/bin/bash

B. #-/bin/bash

C. !#/bin/bash

答案:C

 

2、if [ $2 -a $2 = "test" ]中-a是什么意思(   )

A. 大于

B. 减

C. 全部

D. 并且

答案:D

 

3、在 bash shell 环境下,当一命令正在执行时,按下control+z会(   )

A. 中止前台任务

B. 给当前文件加上EOF

C. 将前台任务转入后台

D. 注销当前用户

答案:C

 

4、shell中要输出a+b的结果(假设a和b已经被赋值),如何得到(   )

A. echo ${a+b}

B. echo $(a+b)

C. echo ${{a+b}}

D. echo $((a+b))

答案:D

 

5、如果存在文本文件/tmp/testfile,并且文件行数小于等于10行,则输出文件前3行,下列脚本正确的是(   )

A.

if [[ -n '/tmp/testfile' ]] && [[ `wc -l /tmp/testfile` -le 10 ]];then
head -3 /tmp/testfile
fi

 

B.

if [[ -f '/tmp/testfile' ]] && [[ `wc -l /tmp/testfile` -le 10 ]];then
head -3 /tmp/testfile
fi


 

C.

if [[ -n '/tmp/testfile' ]] || [[ `wc -l /tmp/testfile` -le 10 ]];then
head -3 /tmp/testfile
fi

 

D.

if [[ -f '/tmp/testfile' ]] || [[ `wc -l /tmp/testfile` -le 10 ]];then
head -3 /tmp/testfile
fi

 

答案:B

 

6、下面代码执行后输出为(    )

#!/bin/bash
array[0]=H
array[1]=E
array[2]=E
array[3]=L
array[4]=O
echo "${#array[*]}"

 

  1. 5
  2. 4
  3. H E E L O
  4. 0 1 2 3 4

答案:A

 

7、判断:$0可以在脚本中获取脚本自身的名称(    )

答案:对

 

8、判断:echo $#可以获取传递给脚本的参数数量(    )

答案:对

 

9、简答:查看文件内容有哪些命令可以使用?

答案:

vi/vim 文件名 #编辑方式查看,可修改

cat 文件名 #显示全部文件内容

more 文件名 #分页显示文件内容

less 文件名 #与 more 相似,更好的是可以往前翻页

tail 文件名 #仅查看尾部,还可以指定行数

head 文件名 #仅查看头部,还可以指定行数

 

10、编程:从文本文件中获取第10行内容并进行输出

答案:有其他思路也可以

#!/bin/bash
head -10 file_name|tail -1

作者:哥们要飞​