分享70个经典贝壳剧本面试问答

我们挑选了70个shell script面试问题和答案,供您准备面试时参考。了解脚本或者至少了解基本知识对于系统管理员来说是非常重要的,这也有助于您在工作环境中自动完成许多任务。在过去的几年里,我们注意到所有的linux工作都需要脚本技能。

1)如何给脚本传递参数?

。/script参数

示例:显示文件名脚本

(LCTT译注:感谢一位匿名来访者的提醒。原问题错了。请修改它。)

2)如何在脚本中使用参数?

第一个参数:2

示例:脚本将文件(arg1)复制到目标地址(arg2)。

3)如何计算传入的参数?

4)如何获取脚本中的脚本名?

5)如何检查前面的命令是否运行成功?

6)如何获取文件的最后一行?

7)如何获取文件的第一行?

8)如何获取一个文件每行的第三个元素?

9)如果找到文件中每行的第一个元素,如何获取第二个元素?

如何调试bash脚本?

将-xv参数添加到#!之后/垃圾桶/bash

示例:

11)如何写函数?

12)两根弦怎么连?

输出

HelloWorld

13)两个整数如何相加?

输出

根据@kashu的说法,这个问题更好的答案是:

有几种方法可以将两个整数相加:

14)如何检查文件系统中是否存在某个文件?

15)把所有的循环文法都写在shell脚本里?

For循环:

While循环:

直到周期:

16) #在每个脚本的开头!/bin/sh或者#!/bin/bash是什么意思?

这一行描述了要使用的shell。#!/bin/bash意味着脚本使用/bin/bash。对于python脚本,它是

17)如何获取一个文本文件的10行?

18)bash脚本文件的第一个符号是什么?

19)命令:[-z " "]& amp;echo 0 || echo 1的输出是什么?

20)“导出”这个命令有什么用?

21)如何在后台运行脚本?

在脚本后添加“&”。。

根据@kashu的说法,更好的答案是:

大多数时候,我们可能会远程使用Linux。我遇到过Command &;不...

22)“chmod 500脚本”是做什么的?

授予脚本所有者可执行权限。

23)" >做什么?

将输出流重定向到文件或另一个流。

24)& amp;和& & amp有什么区别吗

25)什么时候应该在【条件】前用“如果”?

当满足条件时需要运行多个命令。

26)command:name = John & amp;& ampecho“我的名字是$name”的输出是什么?

可变的

bashshell脚本中的哪个符号用于注释?

28)command:echo $ { new:-variable }的输出是什么

可变的

29)引号和引号有什么区别?

30)如何在脚本文件中将标准输出和标准错误重定向到log.txt文件?

添加" exec > log.txt 2 >& amp1”命令。

31)如何只用echo命令获取字符串变量的一部分?

示例:

32)给定字符串variable = " user:123:321:/home/dir ",如何仅使用echo命令获取home_dir?

或者

33)如何从上面的字符串中获取“用户”?

或者

34)awk如何列出UID小于100的用户?

35)写一个程序,为用户计算主群数量,并显示时间和群名。

36)如何将bash shell中的标准域分隔符改为“:”?

37)变长怎么求?

38)如何打印变量的后5个字符?

39) {variable: -10}有什么区别?

40)如何只用echo命令替换字符串的一部分?

41)哪个命令把命令替换成大写?

42)如何计算本地用户数?

43)没有wc命令如何计算一个字符串的字数?

44)“导出$变量”和“导出变量”哪个正确?

45)如何列出第二个字母是A或B的文件?

46)如何将整数A加到B上,赋给C?

或者

或者

47)如何去掉一个字符串中的所有空格?

48)重写这个命令,把输出变量转换成复数:item = " carecho“我喜欢$item”?

49)编写一个命令,输出数字0到100 (0369)中3的倍数...)?

或者

50)如何打印传递给脚本的所有参数?

或者

51)【b】和【b】有什么区别?

=和= =有什么区别

53)写一个命令测试$a是否大于12?

[ $a -gt 12 ]

54)写一个命令测试$b是否小于等于12?

[ $b -le 12 ]

55)如何检查一个字符串是否以字母“abc”开头?

[[ $string == abc* ]]

56) [[ string == "abc "]]有什么区别*

57)如何列出以ab或xy开头的用户名?

egrep " ab | xy "/etc/passwd | cut-d:-f 1

58) $ in bash!你什么意思?

最近在后台执行的命令的PID。

59) $?你什么意思?

前台最新命令的结束状态。

60)如何输出当前shell的PID?

echo $$

61)如何获取传递给脚本的参数个数?

echo $#

(LCTT翻译:重复问题3。)

62) @有什么区别?

63)如何在bash中定义数组?

64)如何打印一个数组的第一个元素?

65)如何打印一个数组的所有元素?

66)如何输出所有数组索引?

67)如何从数组中移除索引为2的元素?

68)如何将id为333的元素添加到数组中?

shell脚本如何获取输入值?

a)采用参数

b)通过读命令

70)如何在脚本中使用“expect”?