1.判断/root/class21/inittab.txt文件是否大于100行,如果大于,则显示”inittab is a big file.”否者显示”inittab is a small file.”
    #!/bin/bash
    num=$(awk "BEGIN{sum=0}{sum+=1}END{print sum}" /root/class21/inittab.txt)
    echo $num
    if [ $num -gt 100 ]
    then
            echo "inittab is a big file."
    else
            echo "inittab is a small file."
    fi

2.写出一个脚本程序,给定一个文件,比如:/root/class21/inittab.txt a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的总行数,否则显示没有空白行
    #!/bin/bash
    num=$(awk "/^$/{print NR}" /root/class21/inittab.txt | wc -l)
    echo $num
    if [ $num -gt 0 ]
    then
            echo "文件中存在空白行"
            echo "共有" $num "行"
    else
            echo "文件中没有空白行"
    fi

3.给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
    #!/bin/bash
    filename=$1
    if [ -f $filename ]
    then
            echo $filename "存在并且是一个文件"
            /bin/cat $filename
    elif [ -d $filename ]
    then
            echo $filename "存在是一个文件夹"
            ls -ll
    else
            echo $filename "无法识别"
    fi

4.写一个脚本,给脚本传递3个参数 两个数字,一个运算符,根据运算符计算出结果,例如 2 3 -   2-3=1
    
    #!/bin/bash
    case $3 in
            "+")
            echo $[$1+$2]
            ;;
            "-")
            echo $[$1-$2]
            ;;
            "\*")
            echo $[$1*$2]
            ;;
            "/")
            echo $(echo "scale=2; $1/$2" | bc)

;;
            "%")
            echo $[$1%$2]
            ;;
            *)
            echo "无法识别计算"
            ;;
    esac

5.使用脚本批量创建用户
    
    #!/bin/bash
    #/root/class21/users.txt  里面存放的是用户名,一个名一行
    USERS=$(cat users.txt)
    echo $USERS     
    for UNAME in $USERS
    do
            echo $UNAME
            #userdel -r  $UNAME
            useradd $UNAME
            echo "123456" | passwd --stdin $UNAME
    done

6.写一个脚本输入任意数组或则数字例如 2 3 4 5 6 7 8 9,输出最大值、最小值、平均值
    #!/bin/bash
    min=$1
    max=$1
    sum=0
    for i in "$@"
    do
        if [ $min -gt $i ]
        then
            min=$i
        fi
        if [ $max -lt $i ]
        then
            max=$i
        fi
        sum=$[$sum+$i]
    done
    echo "最大值为" $max
    echo "最小值为" $min
    echo "平均值为" $[$sum/$#]
7.写一个脚本输入任意数组或则数字例如 2 4 3 5 9 7 8 6,按照从小到大排序后输出
    #!/bin/bash
    arr=()
    i=0
    for value in "$@"
    do
            arr[$i]=$value
            i=$[$i+1]
    done

echo ${arr[*]}

for ((i=0;i<${#arr[@]};i++))  
    do
            for ((j=$i;j<${#arr[@]};j++))
            do
        tmpvalue=${arr[$i]}
            if [ ${arr[$j]} -lt $tmpvalue ]
        then
            arr[$i]=${arr[$j]}
            arr[$j]=$tmpvalue
        fi
        done
    done
    echo ${arr[@]}

1[问答题]1.每分钟清空/tmp/内容 2.每个星期三的下午6点和8点的第5到15分钟之间备份/home/jinghang文件夹下的数据到 /opt/software

*/1 * * * * /bin/rm -rf /tmp/*

5-15 18,20 * * 3 /bin/cp /home/jinghang/* /opt/software/

2 [判断题]使用ps aux 可以查看到当前进程的父进程

A. 对

B. 错

答案:A

解析:ps aux | grep xxx (功能描述:查看系统中所有进程)

18[判断题][ -e /home/jinghang/cls.txt ] 表示判断/home/jinghang/cls.txt目录中的文件是否存在

A. 对

B. 错

[答案]A

解析:-e 文件存在

23[单选题]以下关于运算符表达式的计算不能得到5的是

A. expr  2 + 3

B. expr 2+3

C. echo $[2+3]

D. echo $[ 2 + 3 ]

[答案]B

24[问答题][ $a == $b ] 和 [ $a -eq $b ] 有什么区别?

[答案][ $a == $b ] - 用于字符串比较 [ $a -eq $b ] - 用于数字比较

28[多选题]下列关于shell常用的判断条件描述正确的是()

A. -f 文件存在并且是一个常规的文件(file)

B. -e 文件存在(existence)

C. -d 文件存在并是一个目录(directory)

D. -dir 文件存在并是一个目录(directory)

[答案]A,B,C

29[多选题]下列关于Shell中的数组操作正确的是()

A. 创建数组一个元素包含1~6的数组 arr=(1,2,3,4,5,6)

B. 读取数组中的第一个元素echo ${arr[0]}

C. 读取获取数组的长度echo ${#arr[@]}

D. 读取获取数组中的所有元素 echo ${arr[*]}

[答案]B,C,D

31[多选题]下列关于正则表达式的描述正确的是()

A. \d 单字符匹配表示匹配数字0~9

B. [^a-z] 单字符匹配表示不匹配a-z之间的字符

C. . 匹配除了换行符之外的任意字符

D. ^ 匹配以...开头

[答案]A,B,C,D

^表示非

错题shell的更多相关文章

  1. Ajax与JqueryUI和EasyUI错题总结

    Ajax与JqueryUI和EasyUI错题总结 正确答案A,解析:此题考察的是JQuery UI下的menu插件的使用,menu提供ui-state-disabled class 方法禁用任何菜单项 ...

  2. 错题集锦(二) -- Java专项

    错题集锦(二) -- Java专项 标签(空格分隔): 找工作 JVM的内存模型 线程共享: 堆(Heap):主要存放一些对象实例 方法区(Method Area / Non-Heap):用于存储已被 ...

  3. objective-c 错题

    //1, NSString *name = [[NSString alloc]initWithString:@"张三"]; NSLog(@"%d",[name ...

  4. hibernate错题解析

    01 Hibernate错题分析   解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通 ...

  5. 20175316盛茂淞 《java程序设计》第三周课堂测试错题总结

    20175316盛茂淞 <java程序设计>第三周课堂测试错题总结 出现问题 错题总结 题目1 在Ubuntu中用自己的有位学号建一个文件,教材p87 Example4_15 1. 修改代 ...

  6. NOIp2014提高组初赛错题简析

    总体分析 \(89pts\),粗略来看选择题错的比较多,\(-6pts\).同时又是尿性的填空杀扣了\(5pts\). 不过后面的两大题全对了还是可喜可贺 错题精析 单项选择T8 编译器的主要功能是( ...

  7. Java 整体测试重点题 错题积累

    重点题    错题积累 1: 解析: %d:用来设置输出日志的日期和时间 %m:用来输出代码中指定的消息 %n:用来输出一个回车换行符 %l:用来输出日志事件的发生位置 %p:用来输出优先级 %f:用 ...

  8. Java多线程习题 ===重点 ,错题积累

    多线程重点,错题分析 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: . 12: 13: 14: 15:

  9. S2 深入.NET和C#编程 笔试测试错题积累

    ---恢复内容开始--- <深入.NET平台和C#编程>内部测试题-笔试试卷错题积累 1: 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储 ...

随机推荐

  1. laravel大量填充项目测试数据的正确方法

    项目开发时,一般都会有到项目测试数据的准备操作,以前都是基于PHP代码自主编写sql语句,然后循环的插入到数据库中里面,当当我们接触过laravel数据库后,就可以很方便的完成项目的测试数据准备. 但 ...

  2. Word文档转为MD

    最近整理近年的一些知识笔记,需要将一些之前用word写好的文档转为markdown格式,主要的方法是先将word转换为html格式,再将html转换为markdown格式. Step1. Word t ...

  3. LeetCode刷题191218

    好多天没有更新了,今天有空,刷一道. 算法第5题 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad"输出: ...

  4. 工具-Xmind常用快捷键/使用

    1-快捷键 Ctrl+Shift+L 快捷键助手 Ctrl+Home 返回中心主题 Ctrl+] 插入摘要 Ctrl+I 插入图片 Ctrl+Shift+H 插入超链接 Ctrl+1,2,3,4,5, ...

  5. SpringCloudGateway开发详解

    路由简介: SpringCloudGateWay 是用于替代zuul作为API网关,在gateway中有三个重要的名词:过滤器,断言,路由 过滤器与断言是路由的一部分,路由便是将请求进行一系列的处理后 ...

  6. [转载]——Full UNDO Tablespace In 10gR2 and above (文档 ID 413732.1)

    最近遇到了这个案例,官方文档已有详尽的分析.介绍,特转载在此,方便以后查看! Full UNDO Tablespace In 10gR2 and above (SQL> select count ...

  7. 如何将pyqt5的qt-designer设计出来的 .ui 和 .qrc 文件转化成 .py 文件

    一.pyrcc5的使用 1.1 作用 将 .qrc 资源文件转换成py文件,并在主程序中通过 import 引入 1.2 资源文件编写说明 创建一个icon.qrc,代码如下: <RCC> ...

  8. 桶排序(C语言)

    #include <stdio.h> int main(void) { int arr[5]={2,5,1,3,3}; //定义需要排序的数组 int res[6]={0}; //初始化& ...

  9. [PHP]关于连接MySQL的问题

    概述 PHP中无论使用MySQL函数抑或PDO连接MySQL服务器,都允许有两种方式,一是通过TCP网络层,一是通过unix socket: PHP并没有给出指明用何种方式去连接数据库,决定使用何种方 ...

  10. celery配置

    celery配置 celery的官方文档其实相对还是写的很不错的.但是在一些深层次的使用上面却显得杂乱甚至就没有某些方面的介绍, 通过我的一个测试环境的settings.py来说明一些使用celery ...