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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Bash shell脚本练习(一)

發布時間:2025/3/8 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Bash shell脚本练习(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?一、此題來源51cto linux論壇版

用戶輸入A;B;C;D;E;F;G

輸入A的話就查看/etc/passwd最后5個系統用戶,只要顯示用戶名和UID就行了,其他不要

輸入B的話就顯示系統開機時間多久了

輸入C的話就判斷當前磁盤根目錄使用情況是否超過50%,如果超過50%就顯示“disk space is used over 50%”;如果沒超過50%就顯示“disk space is user below 50%”

輸入D的話就顯示出系統當前處于LISTEN狀態的PID進程程序名稱,以“program-name(pid)”這種形式顯示。

輸入E的話獲取系統的IP和掩碼,以"IP/NETMASK"形式顯示

輸入F的話添加系統用戶,完了后添加該用戶密碼(記得給以提示操作)

輸入G的話顯示系統使用率最多的10條命令,還有使用的次數

還有一點,執行腳本的時候要說清楚下ABCDEFG各個選項的作用!

如果輸入其他非ABCDEFG選項的錯誤選項,就顯示“your input is wrong”消息

  • [root@shell?~/shell]#?cat?test.sh??
  • #!/bin/bash?
  • ?
  • read?-p?"A?B?C?D?E?F?G:"?u?
  • ?
  • ?
  • case?$u?in?
  • ????????[aA])?
  • ????????????????tail?-5?/etc/passwd?|?awk?-F:?'{print?$1,$3}'?
  • ????????;;?
  • ????????[bB])?
  • ????????????????echo?"你的系統運行了:"`uptime?|?awk?'{print?$3}'?|?sed?'s/\,//'`?
  • ????????;;?
  • ????????[cC])?
  • ????????User=`df?|?grep?"/$"?|?awk?'{print?$5}'|?sed?'s/%//'`?
  • ?
  • ????????if?[?"$User"?-gt?50?];?then?
  • ?
  • ????????????????echo?"disk?space?is?used?over?50%"?
  • ?
  • ????????else?
  • ?
  • ????????????????echo?"disk?space?is?user?below?50%"?
  • ????????fi?
  • ????????;;?
  • ????????[dD])?
  • ????????????????netstat?-tulp?|?grep?"LISTEN"?|?awk?'{print?$7}'?|?awk?-F/?'{print?$2"("$1")"}'?
  • ????????;;?
  • ????????[eE])?
  • ????????????????ip=`ifconfig?eth0?|?grep?"inet?addr"|?awk?'{print?$2}'?|?awk?-F:?'{print?$2}'`?
  • ????????????????Mask=`ifconfig?eth0?|?grep?"Mask"|?awk?'{print?$4}'?|?awk?-F:?'{print?$2}'`?
  • ????????????????echo?"系統IP:"?$ip\/$Mask?
  • ????????;;?
  • ????????[fF])?
  • ????????????????read?-p?"please?input?you?username:"?username?
  • ????????????????read?-p?"please?input?you?password:"?password?
  • ?
  • ????????????????useradd?$username??
  • ????????????????echo?"$password"?|?passwd?--stdin?$username?
  • ????????????????echo?"用戶建立完成"?
  • ????????;;?
  • ????????[gG])?
  • ????????????????cat?~/.bash_history?|?sort?|?uniq?-c?|?sort?-nk?1?|?tail??
  • ????????;;?
  • ????????*)?
  • ????????????????echo?"you?input?is?wrong"?
  • ?
  • esac?

  • ?

    二、判斷主機類型

  • #!/bin/bash?
  • ?
  • ip="192.168.209."?
  • LOG="/tmp/ip.log"?
  • for?i?in?`seq?1?254`?
  • do?
  • ?
  • ????????ping?-c?2?"$ip$i">/tmp/log.txt?
  • ?
  • ????????if?[?$??-ne?0?];?then?
  • ????????????????continue?
  • ????????fi?
  • ?
  • ????????okip=`cat?/tmp/log.txt?|?grep?ttl?|awk?-F?'[:?=]'?'{print?$4}'|sort|uniq?`?
  • ????????ttl=`cat?/tmp/log.txt?|?grep?ttl?|?awk?-F?'[:?=]'?'{print?$9?}'|uniq`?
  • ????????if?[?$ttl?-eq?64?];?then?
  • ????????????????echo?"check?$okip?is?linux"?
  • ????????elif?[?$ttl?-eq?128?];?then?
  • ????????????????echo?"check?$okip?is?windows"?
  • ????????else?
  • ????????????????echo?"other"?
  • ????????fi?
  • done?
  • 判斷原理:根據ping返回ttl值,進行判斷

    ?

    ?

    ?

    ?

    轉載于:https://blog.51cto.com/liyaoyi/824522

    總結

    以上是生活随笔為你收集整理的Bash shell脚本练习(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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