码迷,mamicode.com
首页 > 系统相关 > 详细

shell命令的相关事例操作

时间:2017-10-08 15:25:46      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:tle   sdn   loop   时间   blog   board   local   ftime   done   

案例1:变量、函数、判断、比较

test.sh

 

[javascript] view plain copy
 
  1. #!/bin/bash  
  2. echo ======================== this is a bash demo========================  
  3. printf "%s is %d years old  \n" zhengjinwei 23  
  4.   
  5. declare count=10  
  6. declare fruit=apple  
  7.   
  8. declare strNormal="we have $count ${fruit}‘s "  
  9. declare strSpecial="we have $count ${fruit} "  
  10.   
  11.   
  12.   
  13. function printStr()  
  14. {  
  15.         if [ $count -gt 1 ] ; then  
  16.                 echo "$strNormal"  
  17.         else  
  18.                 echo "$strSpecial"  
  19.         fi  
  20. }  
  21.   
  22. printStr  
  23.   
  24. echo $(uname)  
  25.  
  26. #########################################  
  27. declare num=1000  
  28. function printNum()  
  29. {  
  30.         local num=10  
    1. let num+=10  
    2.         echo $num  
    3. }  
    4.   
    5. echo "the global num is : $num "  
    6.   
    7. echo -e  "call printNum Function :"   
    8. printNum  
    9.   
    10.   
    11.   
    12.   
    13. "==================this is if else fi ....test demo====================="  
    14. if [ -f "test.sh" ] ; then  
    15.         echo "named test.sh is a file.."  
    16. else  
    17.         echo "named test.sh is not a file.."  
    18. fi  
    19.   
    20. function checkVariableHaveNum()  
    21. {  
    22.         if [ -n "$1" ] ; then  
    23.                 echo "this variable have value"  
    24.         else  
    25.                 echo "this variable have not value"  
    26.         fi  
    27. }  
    28.   
    29. declare g_num=10  
    30. checkVariableHaveNum $g_num  
    31.   
    32. function checkVariableEqual()  
    33. {  
      1. if [ "$1" -eq "$2" ] ; then  
      2.                 printf "%d == %d " $1 $2  
      3.         elif [ "$1" -ne "$2" ] ; then  
      4.                 printf "%d != %d " $1 $2  
      5.         elif [ "$1" -ge "$2" ] ; then  
      6.                 printf "%d >= %d " $1 $2  
      7.         elif [  "$1" -gt "$2" ] ; then  
      8.                 printf "%d > %d" $1 $2  
      9.         elif [ "$1" -lt "$2" ] ; then  
      10.                 printf "%d < %d" $1 $2  
      11.         else   
      12.                 printf "%d <= %d" $1 $2  
      13.         fi  
      14. }  
      15.   
      16. checkVariableEqual 2 4  
      17. checkVariableEqual 4 2  
      18. checkVariableEqual 2 2  
      技术分享

       

    34. 案例2:字符串操作(取子串)

       

      [javascript] view plain copy
       
      1. echo "-------------------------------------"  
      2. ########this is string opt################################  
      3. #get string‘s length  
      4. declare strName="zhengjinwei"  
      5. declare strNameLength=${#strName}  
      6. printf "the length of %s is %d \n" $strName $strNameLength  
      7.   
      8.   
      9. function getChildString()  
      10. {  
      11.         local StrResourse=$1  
      12.         local nParamCount=$2  
      13.         local nStartPos=$3  
      14.         local nEndPos=$4  
      15.   
      16.         if [[ $nParamCount -lt 3 ]] ; then  
      17.                 echo "param less than 3 is err"  
      18.         elif [[ $nParamCount -gt 4 ]] ; then  
      19.                 echo "param more than 4 is err"  
      20.         else  
      21.   
      22.                 if [[ $nParamCount -eq  3 ]] ; then  
      23.                         let nEndPos=${#StrResourse}  
      24.                 else  
      25.                         let nEndPos=$4  
      26.                 fi  
      27.         fi  
      28.   
      29.         local strResult=${StrResourse:$nStartPos:$nEndPos}  
      30.   
        1.   
        2.         printf "the child string in %s from position %d to %d is %s: \n\n\n" $StrResourse $nStartPos $nEndPos $strResult  
        3.   
        4. }  
        5.   
        6. getChildString "zhengjinwei" 4 2 6  
        7.   
        8. getChildString "zhengjinwei" 3 2 
      31. 案例3:迭代、数组

         

        [javascript] view plain copy
         
        1. ###########################################################  
        2. <span style="font-size:24px;"># this is array test demo  
        3. declare array_int=(1 2 3 4 5 6 7)  
        4.   
        5. printf "the int value in array_int which index is %d is %d\n\n" 0 ${array_int["0"]}  
        6.   
        7. echo "=============for loop=============================="  
        8. declare array_int_len=${#array_int[*]}  
        9. for (( i=0 ;i<"$array_int_len";i++ ))  
        10. do  
        11.         echo -e ${array_int[$i]}  
        12. done  
        13.   
        14. echo ""  
        15. echo "============for iterator loop================================"  
        16.   
        17. for value in ${array_int[@]}  
        18. do  
        19.         echo -e $value  
        20. done  
        21.             
        22.            
        23. echo ""     
        24. echo "==========while loop=================================="  
        25.           
        26. declare i=0  
        27. while (( $i<$array_int_len ))    
        28. do      
        29.         echo -e ${array_int[$i]}  
        30.         let i=i+1  
        31. done  
        32.      
        33. ########################################################</span>  

         

         

        案例4:时间操作

         

        [javascript] view plain copy
         
        1. function getNowtime()  
        2. {  
        3.         local _date=$(date +%Y-%m-%d:%H-%M-%S:%A)  
        4.         echo $_date  
        5. }  
        6.   
        7. function getCostTime()  
        8. {  
        9.         local _start=$(date +%S)  
        10.         sleep 2  
        11.         local _end=$(date +%S)  
        12.         local _cost=$(( _end - _start ))  
        13.         echo $_cost  
        14. }  
        15.   
        16. function getDiffTimeBetweenInSeconds()  
        17. {  
        18.         local _start=$(date +%s -d ‘2010-09-01 17:00:00‘)  
        19.         local _end=$(date +%s -d ‘2011-09-01 18:40:40‘)  
        20.         tep=$(($_end-$_start))  
        21.         tep2=$(( 3600*24 ))  
        22.         result=$(( $tep/$tep2 ))  
        23.   
        24.         extra=$[ $tep%$tep2 ]  
        25.   
        26.         declare _hours=0  
        27.         declare _seconds=0  
        28.         if [ $extra -ge 3600 ] ; then  
        29.                 _hours=$(( $extra/3600 ))  
        30.                 _seconds=$(( $extra%3600))  
        31.         else  
          1.                 _hours=0  
          2.                 _seconds=$extra  
          3.         fi  
          4.   
          5.         printf "%d days ---%d hours ----%d seconds \n\n" $result $_hours $_seconds  
          6. }  
          7. getNowtime  
          8. getCostTime  
          9. getDiffTimeBetweenInSeconds  
          技术分享

           

shell命令的相关事例操作

标签:tle   sdn   loop   时间   blog   board   local   ftime   done   

原文地址:http://www.cnblogs.com/zy9731/p/7637360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!