• 好记性不如烂笔头--linux学习笔记9练手写个shell脚本


    #!/bin/bash
    #auto make install httpd
    #by authors baker95935 2017
    
    #httpd define path variable
    H_FILES=httpd-2.4.29.tar.bz2
    H_FILES_DIR=httpd-2.4.29
    H_URL=http://mirrors.shuosc.org/apache/httpd/
    H_PREFIX=/usr/local/apache2/
    
    
    if [ -Z "$1" ];then
            echo -e "33[36mplease select install menu follow:33[0m"
            echo -e "33[32m1)编译安装apache服务器33[1m"
            echo "2)编译安装mysql服务器"
            echo "3)编译安装php服务器"
            echo "4)配置index.php并启动lamp服务"
            echo -e "33[31musage:{/bin/sh $0 1|2|3|4|help}33[0m"
            exit
    fi
    
    if [ $1 -eq 1 ];then
            wget -c $H_URL/$H_FILES &&tar -jxvf $H_FILES &&cd $H_FILES_DIR;
    
            if [ $? -eq 0 ];then
                    #make && make install
                    echo -e "33[32mTHE $H_FILES_DIR server install successfully!33[0m"
    
            else
    
                    echo -e "33[32mTHE $H_FILES_DIR server install failed,please check...33[0m"
                    exit
    
            fi
    else
            echo -e "33[32m dowload failed,please check url33[1m"
            exit
    fi

     练手写的shell脚本,可自动下载apache,然后切换到apache的目录

    如果在加上编译 和安装 就是可以自动完成了

    if语句里面的几个参数标注下

    1)-z  就是为空

    2)$1 就是第一个参数

    $2就是在命令行中输入的第2个参数

    比如 /bin/bash auto_install_httpd.sh  1

    这个里面的1 就是第一个参数

    3)$? 是上个命令的退出状态或者返回值

    4)格式: echo -e "33[字背景颜色;字体颜色m字符串33[0m" 

    例如: 
    echo -e "33[41;36m something here 33[0m" 

    其中41的位置代表底色, 36的位置是代表字的颜色 


    那些ascii code 是对颜色调用的始末. 
    33[ ; m …… 33[0m 



    字背景颜色范围:40----49 
    40:黑 
    41:深红 
    42:绿 
    43:黄色 
    44:蓝色 
    45:紫色 
    46:深绿 
    47:白色 

    字颜色:30-----------39 
    30:黑 
    31:红 
    32:绿 
    33:黄 
    34:蓝色 
    35:紫色 
    36:深绿 
    37:白色 

    ===============================================ANSI控制码的说明 
    33[0m 关闭所有属性 
    33[1m 设置高亮度 
    33[4m 下划线 
    33[5m 闪烁 
    33[7m 反显 
    33[8m 消隐 
    33[30m -- 33[37m 设置前景色 
    33[40m -- 33[47m 设置背景色 
    33[nA 光标上移n行 
    33[nB 光标下移n行 
    33[nC 光标右移n行 
    33[nD 光标左移n行 
    33[y;xH设置光标位置 
    33[2J 清屏 
    33[K 清除从光标到行尾的内容 
    33[s 保存光标位置 
    33[u 恢复光标位置 
    33[?25l 隐藏光标 
    33[?25h 显示光标

  • 相关阅读:
    在 Xcode 6 中使用矢量图( iPhone 6 置配 UI)
    在Xcode中使用Git进行源码版本控制
    UIAlertController Changes in iOS 8
    iOS8需要兼容的内容
    iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
    一些被提问频率最高的12个php面试题,以及对应的常规回答。
    MYSQL 优化常用方法(转载)
    mysql 性能优化方案 (转)
    练手mysqlbinlog日志恢复数据(centos6.5 64,mysql5.1)
    cnblogs博客申请完毕,以后再这里安家落户
  • 原文地址:https://www.cnblogs.com/baker95935/p/8134603.html
Copyright © 2020-2023  润新知