CentOS个人初始化脚本v1.1.0

之前因为环境导致写的脚本出错,但并不知道,因为结果没有受影响,所以又改了一改,在centos7和8上测试了几次

#!/bin/bash
#********************************************************************
#Date:             2020-08-06
#FileName:        init.sh
#QQ             1506092727
#Copyright (C):     2020 All rights reserved
#********************************************************************

COL_G='echo -e \e[1;32m'
COL_R='echo -e \e[1;31m'
COL_E='\e[0m'

set_ps1(){
    echo "PS1='\[\e[1;32m\][\[\e[0m\]\t\[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$ '" >> ~/.bashrc
    echo export EDITOR=vim  >>  ~/.bashrc
    echo export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "
    [ $? -eq 0 ] && ${COL_G}PS1设置完成${COL_E}  || ${COL_R}创建文件失败${COL_E}
}
set_yumrepo(){
    cd /etc/yum.repos.d/
    [ -a backup ] ||  mkdir backup
    mv *.repo backup/
    version=`uname -a | grep -o [0-9] |head -n1`
    if [ $version -eq 8 ];then cat > base.repo << EOF
[BaseOS]
name=BaseOS
baseurl=https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
gpgcheck=0
enabled=1

[epel]
name=EPEL
baseurl=https://mirrors.aliyun.com/epel/\$releaserver/Everything/\$basearch
        https://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgcheck=0
enabled=1

[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/os
        https://mirrors.aliyun.com/centos/8/extras/x86_64/os/
gpgcheck=0
enabled=1
EOF
cat > AppStream << EOF
[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/
gpgcheck=0
enabled=1
EOF
    continue
else 
    cat > Base.repo << EOF
[BaseOS]
name=BaseOS
baseurl=https://mirrors.aliyun.com/centos/\$releasever/os/x86_64/
gpgcheck=0
enabled=1

[epel]
name=EPEL
baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch
failovermethod=priority
gpgcheck=0
enabled=1

[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/\$releasever/extras/\$basearch/
gpgcheck=0
enabled=1
EOF

fi
}


install_package(){
    packages="
    vim
    tree
    autofs
    net-tools
    gcc
    make
    psmisc
    "
    for i in "${packages}";do
        yum -y install $i
        ${COL_G}$i已安装${COL_E}
    done
    [ $? -eq 0 ]  ||  ${COL_G}安装失败${COL_E}
}

set_vimrc_mailrc(){
cat > ~/.vimrc << EOF
set ts=4
set expandtab
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec":call SetTitle()"
func SetTitle()
        if expand("%:e") == 'sh'
        call setline(1,"#!/bin/bash") 
        call setline(2,"#") 
        call setline(3,"#********************************************************************") 
        call setline(4,"#Date:                  ".strftime("%Y-%m-%d"))
        call setline(5,"#FileName:             ".expand("%"))
        call setline(6,"#Description:          The test script") 
        call setline(7,"#********************************************************************") 
        call setline(8,"") 
        endif
endfunc
autocmd BufNewFile * normal G
EOF
[ $? -eq 0 ] || ${COL_R}创建.vimrc失败${COL_E}
cat > ~/.mailrc << EOF
set from="1506092727@qq.com"
set smtp=smtp.qq.com
set smtp-auth-user="1506092727@qq.com"
set smtp-auth-password="***********"
set smtp-auth=login
set ssl-verify=ignore
EOF
[ $? -eq 0 ] || ${COL_R}.mailrc失败${COL_E}
}

Down_Selinux(){
    sed -Ei 's/^(SELINUX=).*/\1disabled/' /etc/selinux/config
    [ $? -eq 0 ] && ${COL_G}selinux关闭${COL_E} || ${COL_R}设置SELINUX出现错误${COL_E}
}
Down_Firewall(){
    systemctl disable --now firewalld
    [ $? -eq 0 ] && ${COL_G}已关闭防火墙${COL_E} || ${COL_R}关闭防火墙出现错误${COL_E}
}
Change_Grub(){
  sed -Ei 's/^(GRUB_CMDLINE_LINUX.*)"$/\1 net.ifnames=0"/' /etc/default/grub
  grub2-mkconfig -o /boot/grub2/grub.cfg &> /dev/null
  [ $? -eq 0 ] && ${COL_G}grub文件已更改${COL_E} || ${COL_R}grub出现错误${COL_E}
}
Make_Eth0(){
    NET_BAK=/data/netset/
    [ -a $NET_BAK ] || mkdir -p $NET_BAK
    cd /etc/sysconfig/network-scripts/
    mv * $NET_BAK
    [ $? -eq 0 ] && ${COL_G}原文件已复制到$NET_BAK${COL_E} || ${COL_R}移动文件失败${COL_E}
    read -p "输入IP后缀:" IPEND && cat > ifcfg-eth0 << @
DEVICE=eth0
NAME=eth0
IPADDR=10.0.0.$IPEND
PREFIX=24
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.6.6.6
BOOTPROTO=static
@
    [ $? -eq 0 ] && ${COL_G}已更新静态IP文件${COL_E} || ${COL_R}创建文件失败${COL_E}
}

PS3="选择编号:"
MENU="
禁用SELINUX
关防火墙
修改网卡名
修改提示符
设置yum仓库
安装常用包
添加mailrc与vimrc
全部实现

退出
"
   select M in $MENU ;do
    case $REPLY in 
    1) 
        Down_Selinux
        ;;
    2)
        Down_Firewall
        ;;
    3)
        Change_Grub
        Make_Eth0
        ;;
    4)  set_ps1
        ;;
    5)  set_yumrepo
        ;;
    6)  install_package
        ;;
    7)  set_vimrc_mailrc
        ;;
    8)  Down_Selinux
        Down_FireWall
        Change_Grub
        Make_Eth0
        set_ps1
        set_yumrepo
        install_package
        set_vimrc_mailrc
        ;;
    9)
        break 
        ;;
    *)
        echo "请输入正确的数字"
    esac
done

暂时就这些,别名暂时不准备用,害怕大脑一片空白

posted @ 2020-08-06 19:22  天际之上可有蓝天  阅读(162)  评论(0)    收藏  举报