zoukankan      html  css  js  c++  java
  • shell脚本面试题

    shell脚本面试题

    常见笔试题

    基础题

    • 三种引号之间的区别
    • 四个配置文件的启动顺序:先profile到bashrc
    • read的交互的使用方法
    • 脚本怎么调试:bash -x
    • $0、$1、$#、$@、$* 都是什么意思
    • $?、$$
    • 变量运算的格式$(( ))、$[ ]、expr
    • 变量的替换和删除(从前向后,从后向前,变量替换)
    • 统计history的top10
    • 每月的第一天备份并压缩/etc目录里面所有的内容,存放在/root/bak目录里面,备份完成的文件格式为:“yymmdd_etc”,脚本名称为backup.sh存放在/server/scripts目录下。

    函数与数组

    • 函数是什么?函数就是一个代码片段,为了保持代码的简洁性,方便后续调用。
    • 在使用函数时应该注意什么?位置参数和函数里面的位置参数没有关系,而和函数之外的位置参数有关系
      函数返回值当中return和echo有什么不同?
    • 什么是数组?其实数组和变量差不多,变量只能存一个值,而数组可以存多少值
    • 数组的分类?普通数组和关联数组。
    • 普通数组和关联数组有什么区别?普通数组只能用整数做为索引,而关联数组可以使用字符串做为索引,而且还要提前进行声明。

    if相关

    if与||和&&的转换

    说出文件比对的5个参数:r、w、x、f、d

    整数比对:-eq、-ne、-gt、-ge、lt、le

    整数比对脚本:编写一个脚本,当内存/磁盘用量达到80%的时候触发邮件报警。

    case:

    case其实和if很像,本质是一样的,只不过case更严格一些 ,case的主要应用场景在服务和脚本的启停

    for循环

    用for循环打印一个序列:for (( i=10;i>=1;i-- ));do echo $i;done

    批量添加用户,提示输入前缀和用户个数,随机密码,说一下思路

    批量探测主机,说一下思路

    分库分表备份,说 一下思路

    主从状态监测

    while

    for和while的区别,for可以指定次数,而while只要条件为真通常是无限的。

    while的read line比较常用、

    面试题

    1.你写过哪些脚本?,都是怎么写的,说一说思路

    • 对配置文件打包备份的
    • 批量添加用户的
    • 备份数据库的
    • 内存用量报警的
    • 检测词频的

    2.如果我让你写一个监控网站的脚本,如果网站挂了就向你报警,你会怎么写

  • 相关阅读:
    常用函数
    MySQL查询
    mysql的数据类型
    swoole简单demo测试
    linux下搭建lamp环境以及安装swoole扩展
    Linux下NAT模式和桥接模式的网络配置
    PhpStorm+xdebug+postman调试
    windows Apache 环境下配置支持HTTPS的SSL证书
    Yii2 restful api创建,认证授权以及速率控制
    Windows下开启composer镜像服务来安装yii
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/12738645.html
Copyright © 2011-2022 走看看