美文网首页Shell学习笔记
Shell变量的高级用法(三)——字符串处理练习

Shell变量的高级用法(三)——字符串处理练习

作者: 醜捌怪 | 来源:发表于2022-01-18 10:36 被阅读0次

    需求描述:
    变量string="Bigdata process framework is Hadoop,Hadoop is an open source project"
    执行脚本后,打印输出string字符串变量,并给出用户一下选项:

    (1)、打印string长度
    (2)、删除字符串中所有的Hadoop
    (3)、替换第一个Hadoop为Mapreduce
    (4)、替换全部Hadoop为Mapreduce

    用户输入数字1|2|3|4,可以执行对应项的功能;输入q|Q则退出交互模式。

    思路分析:
    1、将不同的功能模块划分,并编写函数
    function print_tips
    function len_of_string
    function del_hadoop
    function rep_hadoop_mapreduce_first
    function rep_hadoop_mapreduce_all
    2、实现第一步所定义的功能函数
    3、程序主流程的设计

    完整脚本代码如下:

    #!/bin/bash
    
    string="Bigdata process framework is Hadoop,Hadoop is an open source project"
    
    function print_tips {
        echo "****************************************"
        echo "(1)、打印string长度"
        echo "(2)、删除字符串中所有的Hadoop"
        echo "(3)、替换第一个Hadoop为Mapreduce"
        echo "(4)、替换全部Hadoop为Mapreduce"
        echo "****************************************"
    }
    
    function len_of_string {
        echo "${#string}"
    }
    
    function del_hadoop {
        echo "${string//Hadoop/}"
    }
    
    function rep_hadoop_mapreduce_first {
        echo "${string/Hadoop/Mapreduce}"
    }
    
    function rep_hadoop_mapreduce_all {
        echo "${string//Hadoop/Mapreduce}"
    }
    
    function main {
        while true; do
            echo
            echo "【${string}】"
            echo
            print_tips
            read -p "Please input your choice(1|2|3|4|q|Q):" choice
            case $choice in
                1) len_of_string ;;
                2) del_hadoop ;;
                3) rep_hadoop_mapreduce_first ;;
                4) rep_hadoop_mapreduce_all ;;
                q|Q) exit ;;
                *) echo "Error input"
            esac
        done
    }
    
    main
    

    相关文章

      网友评论

        本文标题:Shell变量的高级用法(三)——字符串处理练习

        本文链接:https://www.haomeiwen.com/subject/ihfhhrtx.html