zoukankan      html  css  js  c++  java
  • Shell Script编程——USB挂载/复制文件/查找文件/压缩文件

    PS:$引用变量的时候不要加空格。用了case,while的结构。

    main文件

    #!/bin/bash
    chmod a+x changedate
    chmod a+x changemod
    chmod a+x usb
    chmod a+x findfile
    chmod a+x compression
    
    clear
    while true
    do
      echo "welcome to my program"
      echo "wish you have a good day"
      echo ""
      echo "========================================================"
      echo "**              ALL       FUNCTION                    **"
      echo "                1-Usb function                          "
      echo "                2-Compression functions                 "
      echo "                3-Edit files'properties                 "
      echo "                4-Time                                  "
      echo "                5-Search                                "
      echo "                0-Exit                                  "
      echo "========================================================"
      echo "please input the number to choose the function:         "
    read num
      case $num in
        1)./usb;;
        2)./compression;;
        3)./changemod;;
        4)./changedate;;
        5)./findfile;;
        0)clear
        echo "      Thank you for using my program                  "
        echo "      Bye Bye                                         "
        sleep 1
        while true
        do
          exit
        done;;
        *)echo "    please input the right number                   "
        sleep 1
        clear;;
      esac
    done

    usb程序

     1 #! /bin/sh
     2 mntusb(){
     3   clear
     4   /sbin/fdisk -l|grep dev/sd
     5   echo "please input the device name(like sdb1 or else)which is shown above"
     6   read r
     7   mount dev/$r/mnt
     8   echo "if no error warn then"
     9   echo "successfully! The USB has been mounted in /mnt document"
    10   sleep 1
    11 }
    12 umntusb(){
    13   clear
    14   umount /mnt
    15   echo "if no error warn then umount successfully!"
    16   sleep 1
    17 }
    18 listusb(){
    19   clear
    20   ls -la/mnt
    21 }
    22 cpdisktousb(){
    23   clear
    24   echo "please input the filename to be copied in current directory"
    25   read FILE1
    26   cp $FILE1 /mnt
    27   echo "if no error warn the copy successfully!"
    28   sleep 1
    29 }
    30 cpusbtodisk(){
    31   clear
    32   echo "please input the filename to be copied in usb"
    33   echo "PS:the file will be copied in the current directory"
    34   read FILE2
    35   cp /mnt/ $FILE2
    36   echo "if no error warn then copy successfully"
    37   sleep 1
    38 }
    39 rmusb(){
    40  clear
    41  echo "input the file you want remove in the diretory"
    42  read FILE3
    43  rm -v /mnt/$FILE3
    44  echo "if no error warn then remove successfully!"
    45  sleep 1
    46 }
    47 back(){
    48  clear
    49  exit
    50 }
    51 while true
    52  do 
    53   clear
    54   echo "================================================================"
    55   echo "***        USB FUNCTIONS                ********"
    56   echo "        -------------                    "
    57   echo "        1-mount USB                    "
    58   echo "        2-umount USB                    "
    59   echo "        3-list USB's files' information            "
    60   echo "        4-copy current directory's file in disk to USB    "
    61   echo "        5-copy USB's file to current diretory in disk    "
    62   echo "        6-remove the file in USB            "
    63   echo "         0-back                        "
    64   echo "================================================================"
    65   echo "input the number to choose the function                "
    66   echo "PS: If you want to do something to USB,please mount first    "
    67   read choice
    68   case $choice
    69     1)mntusb;;
    70     2)umntusb;;
    71     3)listusb;;
    72     4)cpdisktousb;;
    73     5)cpusbtodisk;;
    74     6)rmusb;;
    75     0)back;;
    76     *)echo "please input the right number!(press any key to continue)"
    77     read c;
    78         clear;;
    79   esac
    80 done
    81 
    82   

    compression程序

     1 #! /bin/bash
     2 replace(){
     3  echo "please input the file's absolute way including the file's name"
     4  read way1
     5  gzip $ way1
     6  echo "if no error warn then compress successfully!"
     7  sleep 2
     8 }
     9 pack(){
    10  echo "please input the directory's absolute way!"
    11  read way2
    12  way8=$way2.tar.gz
    13  tar -zcvf $way8 $way2
    14  echo "ignore the warn"
    15  echo "if no error warn then operate successfully!"
    16  sleep 3
    17 }
    18 back2(){
    19  clear
    20  ./compression
    21 }
    22 filegzip(){
    23 while true
    24 clear
    25 do
    26  echo "============================================================"
    27  echo "        1-Replace the original file with compressed file   "
    28  echo "        2-packing and compress directory           "
    29  echo "        0-back                           "
    30  echo "============================================================"
    31  echo "input the right number to choose the function           "
    32  read num1
    33  case $num1 in
    34  1)replace;;
    35  2)pack;;
    36  0)back2;;
    37  *)echo "please input the right order!"
    38    sleep 1
    39    clear;;
    40  esac
    41 done
    42 }
    43 fileunzip(){
    44  echo "please input the file's absolute way including the file's name"
    45  read way3
    46  gzip-d $way3
    47  echo "if no error warn then decompress successfully!             "
    48  sleep 1
    49 }
    50 back(){
    51  clear
    52  exit
    53 }
    54 while true
    55 clear
    56 do 
    57   echo "============================================================="
    58   echo "        COMPRESS FUNCTION                 "
    59   echo "        1-Compress file                     "
    60   echo "        2-Decompress file                 "
    61   echo "        0-back                         "
    62   echo "============================================================="
    63   echo "please input the number to choose the function                 "
    64   read choice2
    65   case $choice2 in
    66     1)filegzip;;
    67     2)fileunzip;;
    68     0)back;;
    69     *)echo "please input the right number!"
    70        sleep 2
    71        clear;;
    72   esac
    73 done

    changemod程序——改变文件的读写执行权限

     1 #! /bin/bash
     2 show(){
     3  echo "input the file's absolute way including the file's name"
     4  read way4
     5  echo "the information of the file is list following          "
     6  ls -l $way4
     7  sleep 1
     8 }
     9 change(){
    10  echo "input the file's absolute way including the file's name"
    11  echo "and input the file's properities you want change to,input like 700"
    12  read way5 pro
    13  echo "the formal properities of the file is like following"
    14  ls -l $way5
    15  chmod $pro $way5
    16  echo "change successfully!"
    17  echo "the changed file's properities is like following   "
    18  ls -l $way5
    19 }
    20 clear
    21 while true
    22 do
    23  echo "=========================================================" 
    24  echo "        EDIT FUNCTION                    "
    25  echo "        1-Show the properities of the file        "
    26  echo "        2-Change the properities of the file           "
    27  echo "        0-back                        "
    28  echo "input the right number to choose function         "
    29  read num3
    30  case $num3 in
    31    1)show;;
    32    2)change;;
    33    0)clear
    34      exit;;
    35    *)echo "please input the right number!"
    36      sleep 1
    37      clear;;
    38  esac
    39 done 

    changedate程序——显示时间、修改系统时间

     1 #! /bin/bash
     2 show(){
     3  echo "Now the date is: "
     4  date
     5  echo "Have a nice day!"
     6  sleep 1
     7 }
     8 edit(){
     9  echo "input the time you want to change to"
    10  echo "Ex: 0312043307 represent for 2007-03-12-04:33"
    11  read time2
    12  date $ time2
    13  echo "if no error warn then change date successfully"
    14  sleep 1
    15 }
    16 while true
    17 do 
    18  echo "======================================================"
    19  echo "        CHANGEDATE FUNCTION                 "
    20  echo "        1-Show the time                     "
    21  echo "        2-Edit the system time                 "
    22  echo "        0-back                              "
    23  echo "input the number to choose function             "
    24  read num3
    25  case $num3 in 
    26    1)show;;
    27    2)edit;;
    28    0)clear
    29      exit;;
    30    *)echo "please input the right number!"
    31      sleep 1
    32      clear;;
    33   esac
    34 done

    findfile程序——查找文件(给出完整名称,部分名称,但是要给出绝对路径)

     1 #! /bin/bash
     2 schcom(){
     3  clear
     4  echo "input the complele file's name you want to search"
     5  read file9
     6  echo "input the way you want to search in(like /root)"
     7  read dir9
     8  find $dir9 -name "$ file9" -print
     9  echo "press Enter to continue"
    10  read c
    11 }
    12 schpar(){
    13  echo "input the part file's name you remember"
    14  read file7
    15  file6=*$file7*
    16  echo "input the way which you want to search in:(like /root)"
    17  read dir7
    18  find $dir7 -name "$ file6" -print
    19  echo "the above way is the file's way you want to search!"
    20  echo "please Enter to continue"
    21  read c
    22 }
    23 while true
    24 do
    25  clear
    26  echo "================================================================"
    27  echo "            SEARCH    FUNCTION                   "
    28  echo "        1-Search file if you remember the complete file's name "
    29  echo "        2-Search file if you remember the part of file's name  "
    30  echo "        0-back                               "
    31  echo "================================================================"
    32  echo "please input the number to choose function               "
    33  read num5
    34  case $num5 in
    35   1)schcom;;
    36   2)schpar;;
    37   0)clear
    38     exit;;
    39   *)echo "please input the right number"
    40     sleep 1
    41     clear;;
    42  esac
    43 done
    
  • 相关阅读:
    C# 创建线程
    离最近发表时间代码
    ORA12154: TNS: 无法解析指定的连接标识符
    SQL和LINQ按年月、按类型显示文章篇数
    对象的序列化和反序列化
    父类与子类间的隐藏与重写
    C# 进程启动与关闭
    猫叫老鼠跑的事件例子
    第十八章 12判断string类型字符串是否为空 简单
    第十八章 11 string字符串的比较 简单
  • 原文地址:https://www.cnblogs.com/LUO77/p/5598275.html
Copyright © 2011-2022 走看看