色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

34個Linux Shell腳本匯總

jf_BxU6dNQb ? 來源:混說Linux ? 2023-01-06 10:25 ? 次閱讀
1

作為一名 Linux程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網上沖浪的時候,也注意收集一些大佬寫過的腳本,匯總整理一下,歡迎收藏,與君共勉!

(1)用戶猜數字


		#!/bin/bash  #腳本生成一個100以內的隨機數,提示用戶猜數字,根據用戶的輸入,提示用戶猜對了, #猜小了或猜大了,直至用戶猜對腳本結束。 #RANDOM為系統自帶的系統變量,值為0‐32767的隨機數 #使用取余算法將隨機數變?yōu)?‐100的隨機數 num=$[RANDOM%100+1] echo"$num" #使用read提示用戶猜數字 #使用if判斷用戶猜數字的大小關系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于), #‐lt(小于),‐le(小于等于) while: do read-p"計算機生成了一個1‐100的隨機數,你猜:"cai if[$cai-eq$num] then echo"恭喜,猜對了" exit elif[$cai-gt$num] then echo"Oops,猜大了" else echo"Oops,猜小了" fi done

(2)查看有多少遠程的 IP 在連接本機


		#!/bin/bash  #!/bin/bash #查看有多少遠程的IP在連接本機(不管是通過ssh還是web還是ftp都統計) #使用netstat‐atn可以查看本機所有連接的狀態(tài),‐a查看所有, #-t僅顯示tcp連接的信息,‐n數字格式顯示 #LocalAddress(第四列是本機的IP和端口信息) #ForeignAddress(第五列是遠程主機的IP和端口信息) #使用awk命令僅顯示第5列數據,再顯示第1列IP地址的信息 #sort可以按數字大小排序,最后使用uniq將多余重復的刪除,并統計重復的次數 netstat-atn|awk'{print$5}'|awk'{print$1}'|sort-nr|uniq-c

(3)helloworld


		#!/bin/bash  functionexample{ echo"Helloworld!" } example

(4)打印 tomcat 的pid


		#!/bin/sh` v1="Hello" v2="world" v3=${v1}${v2} echo$v3 pidlist=`ps-ef|grepapache-tomcat-7.0.75|grep-v"grep"|awk'{print$2}'` echo$pidlist echo"tomcatIdlist:$pidlist"//顯示pid

(5)腳本編寫 剪刀 、 石頭、布游戲


		#!/bin/bash  game=(石頭剪刀布) num=$[RANDOM%3] computer=${game[$sum]} echo"請根據下列提示選擇您的出拳手勢" echo"1.石頭" echo"2.剪刀" echo"3.布" read-p"請選擇 1-3 :"person case$personin 1) if[$num-eq0] then echo"平局" elif[$num-eq1] then echo"你贏" else echo"計算機贏" fi;; 2) if[$num-eq0] then echo"計算機贏" elif[$num-eq1] then echo"平局" else echo"你贏" fi;; 3) if[$num-eq0] then echo"你贏" elif[$num-eq1] then echo"計算機贏" else echo"平局" fi;; *) echo"必須輸入1-3的數字" esac

(6)九九乘法表


		#!/bin/bash  foriin`seq9` do forjin`seq$i` do echo-n"$j*$i=$[i*j]" done echo done(7)腳本用源碼來安裝 memcached 服務器

		#!/bin/bash #一鍵部署memcached #腳本用源碼來安裝memcached服務器 #注意:如果軟件的下載鏈接過期了,請更新memcached的下載鏈接 wgethttp://www.memcached.org/files/memcached-1.5.1.tar.gz yum-yinstallgcc tar-xfmemcached‐1.5.1.tar.gz cdmemcached‐1.5.1 ./configure make makeinstall

(8)檢測本機當前用戶是否為超級管理員。另外,搜索公眾號【混說Linux】后臺回復“加群”,進Linux技術交流群。


		#!/bin/bash  #檢測本機當前用戶是否為超級管理員,如果是管理員,則使用yum安裝vsftpd,如果不 #是,則提示您非管理員(使用字串對比版本) if[$USER=="root"] then yum-yinstallvsftpd else echo"您不是管理員,沒有權限安裝軟件" fi

(9)if 運算表達式


		#!/bin/bash-xv if[$1-eq2];then echo"woaiwenmin" elif[$1-eq3];then echo"woaiwenxing" elif[$1-eq4];then echo"wodexin" elif[$1-eq5];then echo"wodeai" fi

(10)腳本 殺掉 tomcat 進程并重新啟動


		#!/bin/bash  #killtomcatpid pidlist=`ps-ef|grepapache-tomcat-7.0.75|grep-v"grep"|awk'{print$2}'`#找到tomcat的PID號 echo"tomcatIdlist:$pidlist"//顯示pid kill-9$pidlist#殺掉改進程 echo"KILL$pidlist:"//提示進程以及被殺掉 echo"servicestopsuccess" echo"starttomcat" cd/opt/apache-tomcat-7.0.75 pwd rm-rfwork/* cdbin ./startup.sh#;tail-f../logs/catalina.out

(11)打印國際象棋棋盤


		#!/bin/bash #打印國際象棋棋盤 #設置兩個變量,i和j,一個代表行,一個代表列,國際象棋為8*8棋盤 #i=1是代表準備打印第一行棋盤,第1行棋盤有灰色和藍色間隔輸出,總共為8列 #i=1,j=1代表第1行的第1列;i=2,j=3代表第2行的第3列 #棋盤的規(guī)律是i+j如果是偶數,就打印藍色色塊,如果是奇數就打印灰色色塊 #使用echo‐ne打印色塊,并且打印完成色塊后不自動換行,在同一行繼續(xù)輸出其他色塊 foriin{1..8} do forjin{1..8} do sum=$[i+j] if[$[sum%2]-eq0];then echo-ne"?33[46m?33[0m" else echo-ne"?33[47m?33[0m" fi done echo done 

(12)統計當前 Linux 系統中可以登錄計算機的賬戶有多少個


		#!/bin/bash  #統計當前Linux系統中可以登錄計算機的賬戶有多少個 #方法1: grep"bash$"/etc/passwd|wc-l #方法 2: awk-f:'/bash$/{x++}end{printx}'/etc/passwd

(13)備份 MySQL 表數據


		#!/bin/sh  source/etc/profile dbName=mysql tableName=db echo[`date+'%Y-%m-%d%H:%M:%S'`]'startloadingdata...' mysql-uroot-proot-P3306${dbName}-e"LOADDATALOCALINFILE'#/home/wenmin/wenxing.txt'INTOTABLE${tableName}FIELDSTERMINATEDBY';'" echo[`date+'%Y-%m-%d%H:%M:%S'`]'endloadingdata...' exit EOF

(14)使用死循環(huán)實時顯示 eth0 網卡發(fā)送的數據包流量


		#!/bin/bash  #使用死循環(huán)實時顯示eth0網卡發(fā)送的數據包流量 while: do echo'本地網卡 ens33 流量信息如下:' ifconfigens33|grep"RXpack"|awk'{print$5}' ifconfigens33|grep"TXpack"|awk'{print$5}' sleep1 done

(15)編寫腳本測試 192.168.4.0/24 整個網段中哪些主機處于開機狀態(tài),哪些主機處于關機


		#!/bin/bash  #編寫腳本測試192.168.4.0/24整個網段中哪些主機處于開機狀態(tài),哪些主機處于關機 #狀態(tài)(for版本) foriin{1..254} do #每隔0.3秒ping一次,一共ping2次,并以1毫秒為單位設置ping的超時時間 ping-c2-i0.3-W1192.168.1.$i&>/dev/null if[$?-eq0];then echo"192.168.1.$iisup" else echo"192.168.1.$iisdown" fi done

(16)編寫腳本:提示用戶輸入用戶名和密碼,腳本自動創(chuàng)建相應的賬戶及配置密碼。如果用戶。另外,搜索公眾號【混說Linux】后臺回復“加群”,進Linux技術交流群


		#!/bin/bash #編寫腳本:提示用戶輸入用戶名和密碼,腳本自動創(chuàng)建相應的賬戶及配置密碼。如果用戶 #不輸入賬戶名,則提示必須輸入賬戶名并退出腳本;如果用戶不輸入密碼,則統一使用默 #認的 123456 作為默認密碼。 read-p"請輸入用戶名:"user #使用‐z可以判斷一個變量是否為空,如果為空,提示用戶必須輸入賬戶名,并退出腳本,退出碼為2 #沒有輸入用戶名腳本退出后,使用$?查看的返回碼為2 if[-z$user];then echo"您不需要輸入賬戶名" exit2 fi #使用stty‐echo關閉shell的回顯功能 #使用sttyecho打開shell的回顯功能 stty-echo read-p"請輸入密碼:"pass sttyecho pass=${pass:-123456} useradd"$user" echo"$pass"|passwd--stdin"$user"

(17)使用腳本對輸入的三個整數進行排序


		#!/bin/bash  #依次提示用戶輸入3個整數,腳本根據數字大小依次排序輸出3個數字 read-p"請輸入一個整數:"num1 read-p"請輸入一個整數:"num2 read-p"請輸入一個整數:"num3 #不管誰大誰小,最后都打印echo"$num1,$num2,$num3" #num1中永遠存最小的值,num2中永遠存中間值,num3永遠存最大值 #如果輸入的不是這樣的順序,則改變數的存儲順序,如:可以將num1和num2的值對調 tmp=0 #如果num1大于num2,就把num1和和num2的值對調,確保num1變量中存的是最小值 if[$num1-gt$num2];then tmp=$num1 num1=$num2 num2=tmp fi #如果num1大于num3,就把num1和num3對調,確保num1變量中存的是最小值 if[$num1-gt$num3];then tmp=$num1 num1=$num3 num3=$tmp fi #如果num2大于num3,就把num2和num3對調,確保num2變量中存的是最小值 if[$num2-gt$num3];then tmp=$num2 num2=$num3 num3=$tmp fi echo"排序后數據(從小到大)為:$num1,$num2,$num3"

(18)根據計算機當前時間,返回問候語,可以將該腳本設置為開機啟動


		#!/bin/bash #根據計算機當前時間,返回問候語,可以將該腳本設置為開機啟動 #00‐12點為早晨,12‐18點為下午,18‐24點為晚上 #使用date命令獲取時間后,if判斷時間的區(qū)間,確定問候語內容 tm=$(date+%H) if[$tm-le12];then msg="GoodMorning$USER" elif[$tm-gt12-a$tm-le18];then msg="GoodAfternoon$USER" else msg="GoodNight$USER" fi echo"當前時間是:$(date+"%Y‐%m‐%d%H:%M:%S")" echo-e"?33[34m$msg?33[0m"

(19)將 I lov cls 寫入到 txt 文件中


		#!/bin/bash  cd/home/wenmin/ touchwenxing.txt echo"Ilovcls">>wenxing.txt

(20)腳本編寫 for 循環(huán)判斷


		#!/bin/bash  s=0; for((i=1;i<100;i++)) do s=$[$s+$i] done echo$s r=0; a=0; b=0; for((x=1;x<9;x++)) do a=$[$a+$x] echo$x done for((y=1;y<9;y++)) do b=$[$b+$y] echo$y done echo$r=$[$a+$b]

(21)腳本編寫 for 循環(huán)判斷


		#!/bin/bash  foriin"$*" do echo"wenminxihuan$i" done forjin"$@" do echo"wenminxihuan$j" done

(22)腳本 每周 5 使用 tar 命令備份/var/log 下的所有日志文件


		#!/bin/bash #每周5使用tar命令備份/var/log下的所有日志文件 #vim/root/logbak.sh #編寫備份腳本,備份后的文件名包含日期標簽,防止后面的備份將前面的備份數據覆蓋 #注意date命令需要使用反引號括起來,反引號在鍵盤鍵上面 tar-czflog-`date+%Y%m%d`.tar.gz/var/log #crontab-e#編寫計劃任務,執(zhí)行備份腳本 0003**5/home/wenmin/datas/logbak.sh

(23)腳本編寫 求和 函數運算 function xx()


		#!/bin/bash  functionsum() { s=0; s=$[$1+$2] echo$s } read-p"inputyourparameter"p1 read-p"inputyourparameter"p2 sum$p1$p2 functionmulti() { r=0; r=$[$1/$2] echo$r } read-p"inputyourparameter"x1 read-p"inputyourparameter"x2 multi$x1$x2 v1=1 v2=2 letv3=$v1+$v2 echo$v3

(24)腳本編寫 case — esac 分支結構表達式


		#!/bin/bash  case$1in 1) echo"wenmin" ;; 2) echo"wenxing" ;; 3) echo"wemchang" ;; 4) echo"yijun" ;; 5) echo"sinian" ;; 6) echo"sikeng" ;; 7) echo"yanna" ;; *) echo"danlian" ;; esac

(25)# 定義要監(jiān)控的頁面地址,對 tomcat 狀態(tài)進行重啟或維護


		#!/bin/sh #function:自動監(jiān)控tomcat進程,掛了就執(zhí)行重啟操作 #author:huanghong #DEFINE #獲取tomcatPPID TomcatID=$(ps-ef|greptomcat|grep-w'apache-tomcat-7.0.75'|grep-v'grep'|awk'{print$2}') #tomcat_startup StartTomcat=/opt/apache-tomcat-7.0.75/bin/startup.sh #TomcatCache=/usr/apache-tomcat-5.5.23/work #定義要監(jiān)控的頁面地址 WebUrl=http://192.168.254.118:8080/ #日志輸出 GetPageInfo=/dev/null TomcatMonitorLog=/tmp/TomcatMonitor.log Monitor() { echo"[info]開始監(jiān)控tomcat...[$(date+'%F%H:%M:%S')]" if[$TomcatID] then echo"[info]tomcat進程ID為:$TomcatID." #獲取返回狀態(tài)碼 TomcatServiceCode=$(curl-s-o$GetPageInfo-m10--connect-timeout10$WebUrl-w%{http_code}) if[$TomcatServiceCode-eq200];then echo"[info]返回碼為$TomcatServiceCode,tomcat啟動成功,頁面正常." else echo"[error]訪問出錯,狀態(tài)碼為$TomcatServiceCode,錯誤日志已輸出到$GetPageInfo" echo"[error]開始重啟tomcat" kill-9$TomcatID#殺掉原tomcat進程 sleep3 #rm-rf$TomcatCache#清理tomcat緩存 $StartTomcat fi else echo"[error]進程不存在!tomcat自動重啟..." echo"[info]$StartTomcat,請稍候......" #rm-rf$TomcatCache $StartTomcat fi echo"------------------------------" } Monitor>>$TomcatMonitorLog

(26)通過位置變量創(chuàng)建 Linux 系統賬戶及密碼


		#!/bin/bash  #通過位置變量創(chuàng)建Linux系統賬戶及密碼 #$1是執(zhí)行腳本的第一個參數,$2是執(zhí)行腳本的第二個參數 useradd"$1" echo"$2"|passwd--stdin"$1"

(27)對變量的傳入與獲取個數及打印


		#!/bin/bash echo"$0$1$2$3"//傳入三個參數 echo$#//獲取傳入參數的數量 echo$@//打印獲取傳入參數 echo$*//打印獲取傳入參數

(28)實時監(jiān)控本機內存和硬盤剩余空間,剩余內存小于500M、根分區(qū)剩余空間小于1000M時,發(fā)送報警郵件給root管理員


		#!/bin/bash  #實時監(jiān)控本機內存和硬盤剩余空間,剩余內存小于500M、根分區(qū)剩余空間小于1000M時,發(fā)送報警郵件給root管理員 #提取根分區(qū)剩余空間 disk_size=$(df/|awk'///{print$4}') #提取內存剩余空空間 mem_size=$(free|awk'/Mem/{print$4}') while: do #注意內存和磁盤提取的空間大小都是以Kb為單位 if[$disk_size-le512000-a$mem_size-le1024000] then mail‐s"Warning"root<fi done

(29)檢查指定目錄下是否存在 對應 文件


		#!/bin/bash  if[-f/home/wenmin/datas] then echo"Fileexists" fi

(30)腳本定義while循環(huán)語句


		#!/bin/bash  if[-f/home/wenmin/datas] then echo"Fileexists" fi [root@richdatas]#catwhile.sh #!/bin/bash  s=0 i=1 while[$i-le100] do s=$[$s+$i] i=$[$i+1] done echo$s echo$i

(31)一鍵部署 LNMP(RPM 包版本)


		#!/bin/bash  #一鍵部署LNMP(RPM包版本) #使用yum安裝部署LNMP,需要提前配置好yum源,否則該腳本會失敗 #本腳本使用于centos7.2或RHEL7.2 yum-yinstallhttpd yum-yinstallmariadbmariadb-develmariadb-server yum-yinstallphpphp-mysql systemctlstarthttpdmariadb systemctlenablehttpdmariadb

(32)讀取控制臺傳入參數


		#!/bin/bash read-t7-p"inputyourname"NAME echo$NAME read-t11-p"inputyouage"AGE echo$AGE read-t15-p"inputyourfriend"FRIEND echo$FRIEND read-t16-p"inputyourlove"LOVE echo$LOVE

(33)腳本實現 復制


		#!/bin/bash  cp$1$2

(34)腳本實現文件存在與否的判斷


		#!/bin/bash  if[-ffile.txt];then echo"文件存在" else echo"文件不存在" fi

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209328
  • Shell
    +關注

    關注

    1

    文章

    365

    瀏覽量

    23356
  • 腳本
    +關注

    關注

    1

    文章

    389

    瀏覽量

    14858

原文標題:整理了 34 個 Linux Shell 腳本,一定能幫到你!

文章出處:【微信號:混說Linux,微信公眾號:混說Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux Shell腳本入門到實戰(zhàn)詳解

    Linux Shell腳本入門到實戰(zhàn)詳解
    發(fā)表于 02-17 15:03 ?636次閱讀

    Linux shell腳本分享

    今天浩道跟大家分享幾個Linux運維中常用到的shell腳本
    發(fā)表于 07-18 09:53 ?556次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>分享

    100Linux Shell腳本總結

    不知道大家有沒有發(fā)現,會編寫shell腳本的運維,工資不會低,并且他的工作會很輕松!今天浩道跟大家分享每一Linux運維應知必會的100
    的頭像 發(fā)表于 12-05 09:28 ?1249次閱讀

    如何創(chuàng)建和執(zhí)行一簡單的Linux shell腳本

     如果您愿意要嘗試更長的shell腳本,請將下面的shell腳本(并附加為PDF和ODT文件)復制到文本編輯器中,保存,使其可執(zhí)行并運行。當您了解更多
    的頭像 發(fā)表于 11-06 17:28 ?1.3w次閱讀

    Linux系統命令及shell腳本實踐指南

    Linux系統命令及shell腳本實踐指南資料下載。
    發(fā)表于 06-01 14:47 ?28次下載

    運維常用的34Linux Shell腳本

    Shell 腳本編程是在 Linux 下學習或練習編程的最簡單的方式。尤其對運維工程師處理著自動化任務,且要開發(fā)新的簡單的實用程序或工具等(這里只是僅舉幾例)更是必備技能。
    的頭像 發(fā)表于 05-09 15:26 ?1519次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    100Shell腳本經典案例解析

    今天浩道跟大家分享100Linux Shell腳本經典案例,讓你一次擼夠。
    的頭像 發(fā)表于 02-10 13:51 ?2646次閱讀

    shell腳本基礎知識匯總1

    Shell 編程跟 JavaScript、php 編程一樣,只要有一能編寫代碼的文本編輯器和一能解釋執(zhí)行的腳本解釋器就可以了。 Linux
    的頭像 發(fā)表于 02-15 10:48 ?785次閱讀

    shell腳本基礎知識匯總2

    Shell 編程跟 JavaScript、php 編程一樣,只要有一能編寫代碼的文本編輯器和一能解釋執(zhí)行的腳本解釋器就可以了。 Linux
    的頭像 發(fā)表于 02-15 10:48 ?658次閱讀

    shell腳本基礎知識匯總3

    Shell 編程跟 JavaScript、php 編程一樣,只要有一能編寫代碼的文本編輯器和一能解釋執(zhí)行的腳本解釋器就可以了。 Linux
    的頭像 發(fā)表于 02-15 10:49 ?768次閱讀

    shell腳本基礎知識匯總4

    Shell 編程跟 JavaScript、php 編程一樣,只要有一能編寫代碼的文本編輯器和一能解釋執(zhí)行的腳本解釋器就可以了。 Linux
    的頭像 發(fā)表于 02-15 10:49 ?662次閱讀

    Linux Shell腳本經典案例分享

    ? 作為一名 Linux 運維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網上沖浪的時候,發(fā)現大家對Shell腳本都有“心結”,要么覺得自己寫出來不好
    發(fā)表于 06-16 14:03 ?649次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經典案例分享

    分享249拿來即用的shell腳本

    ? 由于腳本案例太多,在此僅展示部分,完整版領取方式請見文末 ? ? ? 249拿來即用的shell腳本! ? 這249
    的頭像 發(fā)表于 07-07 10:52 ?1179次閱讀
    分享249<b class='flag-5'>個</b>拿來即用的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>

    Linux從零到精通:最簡單的Shell腳本入門教程

    case語句 shell變量數組 shell腳本前言 |為什么學習shell編程 Shell腳本
    的頭像 發(fā)表于 12-05 09:56 ?393次閱讀
    <b class='flag-5'>Linux</b>從零到精通:最簡單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程
    主站蜘蛛池模板: 精品免费在线视频| rio 快播| 精品无码一区二区三区不卡| 国产精品99久久久久久AV下载| 国产成A人片在线观看| 国产露脸A片国语露对白| 久久精品黄AA片一区二区三区| 酒色.com| 色网址在线观看| 亚洲色欲色欲www474ee| 99久久精品国产亚洲AV| 国产精品18久久久久久欧美网址| 妓女嫖客叫床粗话对白| 青青青青青青青草| 亚洲色欲国产AV精品综合| 变形金刚7免费观看完整| 国精产品一区一区三区M| 欧洲精品一区二区不卡观看| 亚洲国产在线视频中文字| 成年人视频在线免费观看| 国产精品高清视亚洲一区二区| 91久久综合精品国产丝袜长腿| 亚洲人成伊人成综合网久久久| 亚洲成人免费在线| 国产精品久久久久久亚洲毛片| 男女后进式猛烈xx00动态图片| 亚洲在线国产日韩欧美| 国产一区二区内射最近更新| 新新电影理论中文字幕| 国产精品三级在线观看| 手机毛片在线观看| 高清大胆欧美videossexo| 日本夜爽爽一区二区三区| qq快播电影网| 欧美精品专区免费观看| A级韩国乱理伦片在线观看| 秘密教学26我们在做一次吧免费| 竹菊精品久久久久久久99蜜桃| 久久热r在线视频精品| 2020年国产精品午夜福利在线观看 | 成人在免费观看视频国产|