日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学以致用二十二-----写一个基本环境设置的脚本

發布時間:2025/3/17 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学以致用二十二-----写一个基本环境设置的脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每次安裝完系統后,需要配置一些基礎的環境。因此試著寫了一個腳本,以后再裝了新的操作系統后,可以用這個腳本來實現配置。

功能:1、更改主機名

? ? ? ? ? ?2、關閉禁用防火墻

? ? ? ? ? ?3、關閉sellinux

? ? ? ? ? ?4、增加時間戳

? ? ? ? ? ?5、關閉編輯或者輸出錯誤的警告音

代碼如下:

1 #!/usr/bin/bash2 #2018-10-183 #lion4 #setup base environment include hosname selinux firewalld 5 selinux_file=/etc/selinux/config6 Color_text()7 {8 echo -e "\e[1;$2m$1\e[0m"9 }10 Echo_red()11 {12 echo $(Color_text "$1" "31") 13 }14 Echo_green()15 {16 echo $(Color_text "$1" "32") 17 }18 Echo_yellow()19 {20 echo $(Color_text "$1" "33") 21 }22 Echo_blue()23 {24 echo $(Color_text "$1" "34") 25 }26 update_hostname()27 {28 read -p "input new hostname:" host_name29 echo $host_name > /etc/hostname30 #echo -e "Hostname updated successful\n" 31 Echo_green "Hostname updated successful\n"32 }33 34 close_firewall()35 {36 systemctl stop firewalld.service37 systemctl disable firewalld.service &> /dev/null38 systemctl status firewalld.service &> /dev/null39 [ $? -ne 0 ] && Echo_green "firewall closed successful\n"40 }41 disable_selinux()42 {43 status=$(cat ${selinux_file} | grep '^SELINUX' | awk -F'=' 'NR==1{print $2}')44 if [ "${status}" != "disabled" ] ; then45 sed -i "s/SELINUX=${status}/SELINUX=disabled/g" /etc/selinux/config46 else47 Echo_yellow "selinux has diabled\n"48 fi49 }50 add_timestamp()51 {52 histtime=$(grep 'HISTTIMEFORMAT' /etc/profile)53 [ -z "${histtime}" ] && echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile && source /etc/profile || Echo_green "timesstamp has added\n"54 }55 #vim_check()56 #{57 # vim_version=$(vi --vesion | grep 'IMProved' | awk '{print $5}')58 # if [ ${vim_version} < 8 ];then59 # yum remove vi 60 # . vim_install61 # else62 # #echo -e "vim version is already 8,nothing to do\n"63 # Echo_yellow "vim version is already 8,nothing to do\n"64 # fi65 #}66 67 off_warning_voice()68 {69 echo "setterm -blength 0" >> /etc/bashrc70 sed -i '/bell-style/s/^#//g' /etc/inputrc71 }72 menu()73 {74 clear75 Echo_blue "\t\tCheck base envionment"76 echo -e "\t1.Update hostname"77 echo -e "\t2.Close firewalld"78 echo -e "\t3.Disable selinux"79 echo -e "\t4.Add timetamp"80 echo -e "\t5 warining voice"81 echo -e "\t0.Exit menu"82 read -p "Enter an option:" choice83 # echo -en "Enter an option:"84 # read -n 1 choice85 }86 87 while [ 1 ]88 do89 menu90 case $choice in91 0)92 break93 ;;94 1)95 update_hostname96 ;;97 2)98 close_firewall99 ;; 100 3) 101 disable_selinux 102 ;; 103 4) 104 add_timestamp 105 ;; 106 5) 107 off_warning_voice 108 ;; 109 *) 110 clear 111 Echo_red "invalid option\n" 112 esac 113 #echo -en "\tHit any key to continue:" 114 #read -n 1 line 115 read -p "Hit any key to continue:" 116 done

寫此次代碼的目的:

1、 加強對函數調用的學習

2、while 循環 ,?

? ? ? while [ 1 ] ? ?表示無限循環,注意[ 1 ] ?中括號里兩邊是有空格的,shell腳本對空格控制挺嚴格

3、學會菜單的使用及case的用法,已esac結尾

4、read的用法

? ? ? read -n 1 line 表示只接受一個字符串輸入,如果超出則馬上輸出,(由于輸出的效果不佳,已注釋)

5、字體顏色的函數調用

Color_text(){echo -e "\e[1;$2m$1\e[0m"}

6、加強 if語句的練習

7 、 [ -z ?條件 ] ?是否為空

8、?status=$(cat ${selinux_file} | grep '^SELINUX' | awk -F'=' 'NR==1{print $2}')

? ? ? ?復習 awk的用法 ?-F'=' ?以=為分隔符,默認是空格為分隔符

? ? ? ? NR==1{print $2}

? ? ? ? NR,表示awk開始執行程序后所讀取的數據行數.此處表示打印出第一行,第二列

9、 ?復習sed的用法

? ? ? ?sed -i "s/SELINUX=${status}/SELINUX=disabled/g" /etc/selinux/config

? ? ? ?sed -i ‘s/old/new/g’ ? ?替換

? ? ? ?sed -i '/bell-style/s/^#//g' /etc/inputrc ?先匹配bell-style這行,然后把行首的#替換為空,等價于刪除行首的#

? ? ? ? ?/s/^#//g

10、?systemctl disable firewalld.service &> /dev/null

? ? ? ? &> 輸入輸出不打印出來,重定向到/dev/null里

11、echo -e ? 處理特殊字符,使其生效

? ? ? ?echo -n ?不換行輸出

? ? ? ?echo -ne 兩者結合

以前對shell腳本不理解,或者是看到別人寫的腳本,只能看懂一部分,因此對shell腳本總有點抵觸或者發忪的情緒在里面,通過這段時間對shell腳本的加強練習,以及自己去寫腳本,不斷嘗試和修改,并借鑒其他腳本好的用法,終于對shell腳本有了全新的認識

并且對shell腳本的興趣也越發濃厚。

多看,多練習,多總結,生活源于一點一滴的積累

?

? ? ? ?

? ??

??

轉載于:https://www.cnblogs.com/liongong/p/9819953.html

總結

以上是生活随笔為你收集整理的学以致用二十二-----写一个基本环境设置的脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。