馬哥教育網絡班20期+第10周博客作業

4、寫一個腳本

  (1) 能接受四個參數:start, stop, restart, status

   start: 輸出“starting 腳本名 finished.”

   …

  (2) 其它任意參數,均報錯退出;

    #!bin/bash

    read -p "Enter a option: " option

    prog=$(basename $0) 
    case "$option" in   
          start)  
            echo "start $prog finished"  
            ;;
          stop)
            echo "stop $prog finished" 
            ;;
          restart)
            echo "restart $prog finished"   
            ;;
          status)
            echo "status $prog" 
            ;;
          *)    
            echo "wrong"  
            exit 3
            ;;  
          esac

5、寫一個腳本,判斷給定的用戶是否登錄了當前系統;

  (1) 如果登錄了,則顯示用戶登錄,腳本終止;

  (2) 每3秒鐘,查看一次用戶是否登錄;

    #!/bin/bash
    #
    read -p "Enter a user name: " username

    while true; do  
        if who | grep "^$username" &> /dev/null; then 
        break  
        fi
        sleep 3  
    done

    echo "$username logged on." >> /tmp/user.log

6、寫一個腳本,顯示用戶選定要查看的信息;

   cpu) display cpu info

   mem) display memory info

   disk) display disk info

   quit) quit

   非此四項選擇,則提示錯誤,并要求用戶重新選擇,只到其給出正確的選擇為止;

    #!/bin/bash
    #
    cat << EOF
    cpu) show cpu information;
    mem) show memory information;
    disk) show disk information;
    quit) quit
    ============================
    EOF

    read -p "Enter a option: " option
    while [ "$option" != 'cpu' -a "$option" != 'mem' -a "$option" != 'disk' -a "$option" != 'quit' ]; do
        read -p "Wrong option, Enter again: " option
    done

    if [ "$option" == 'cpu' ]; then
        lscpu
    elif [ "$option" == 'mem' ]; then
        cat /proc/meminfo
    elif [ "$option" == 'disk' ]; then
        fdisk -l
    else
        echo "Quit"
        exit 0
    fi

7、寫一個腳本

  (1) 用函數實現返回一個用戶的UID和SHELL;用戶名通過參數傳遞而來;

  (2) 提示用戶:輸入一個用戶名或輸入“quit”退出;

      當輸入的是用戶名,則調用函數顯示用戶信息;當用戶輸入quit,則退出腳本;

         進一步地:顯示鍵入的用戶相關信息后,再次提醒輸出用戶名或quit

      #!/bin/bash
      #
      function showinfo {
      if id $name &> /dev/null;then
          cat /etc/passwd | grep -E '^('$name')\>' |awk -F: '{print $3,$NF}'
          read -p "Enter a username or quit:" name
      else
          read -p  "wrong argument,plsease enter a username or quit:" name
      fi
      }

      read -p "Enter a username or quit:" name
      while [ "$name" != "quit" ];do
          showinfo $name
      done

原創文章,作者:mississippi,如若轉載,請注明出處:http://www.www58058.com/45232

(2)
mississippimississippi
上一篇 2016-12-05
下一篇 2016-12-05

相關推薦

  • 馬哥教育網絡班20期-第十周課程作業

    請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 1)POST:加電自檢 2)BOOT Sequence:按次序查找各引導設備,第一個有grub的設備即為本次啟動用到設備 3)加載kernel,先自身初始化,探測可識別到的所有硬件設備,加載硬件驅動程序,以只讀方式掛載根文件系統,運行用戶空間的第一個應用程序:/sbin/init 4)i…

    學員作品 2016-09-08
  • 馬哥教育網絡班20期+第10周課程練習

     1. 請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 1. 加電自檢:POST     通電后主板CMOS中的BIOS(基本輸入輸出系統)將進行硬件自檢并簡單設置,根據硬盤等     相關設備情況進入下一步   &…

    學員作品 2016-08-15
  • RAID與磁盤管理

    1、創建一個10G分區,并格式為ext4文件系統; [root@localhost ~]# fdisk /dev/sda 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫…

    學員作品 2016-08-22
  • sed基本用法詳解

    一、sed介紹:        sed是非交互式的編輯器,同時又是面向字符流的,一次處理一行文本。當前輸入的行被緩存至一個被稱為模式空間(pattern space)的內存空間中,與給定的模式進行比對,若不匹配,則將內容輸出至屏幕,之后讀取第二行;若匹配,則執行編輯命令,命令執行完成后,將模式空間中…

    Linux干貨 2016-08-10
  • 第六次作業

    1 、取本機ip地址 Centos6.8 ifconfig | head -2|tail -1|cut -d: -f2|cut -d" " -f1 ifconfig | head -2|tail -1|cut&…

    學員作品 2016-08-10
  • 馬哥教育網絡班20期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash declare -i other=0 declare -i nologin=0 for i in&nbs…

    學員作品 2016-08-08
欧美性久久久久