zoukankan      html  css  js  c++  java
  • linux bash 入门

      1 #!/bin/bash
      2 
      3 #shell使用的熟练成都反映用户对Unix/Linux使用的熟练程度
      4 #shell 有两种执行命令的方式:交互式和批处理
      5 #常见的shell脚本解释器有bash,sh,csh等等
      6 #chmod +x ./hello.sh  #使脚本具有执行权限
      7 #./hello.sh  #执行脚本
      8 
      9 #交互输入
     10 echo "whats your name?"
     11 read person
     12 echo "hello,$person"
     13 
     14 #变量 定义不加$,引用要加$
     15 myname="shiqing"
     16 echo ${myname}
     17 
     18 #特殊变量
     19 echo "filename:$0"
     20 echo "first parameter:$1"
     21 echo "second parameter:$2"
     22 echo "all parameter:$@"
     23 echo "all parameter:$*"
     24 echo "total number of parameters:$#"
     25 
     26 #命令替换 ~下 `command`
     27 USERS=`who | wc -l`
     28 echo "Logged in user are $USERS“

      #返回这个脚本文件放置的目录

      cd `dirname $0`   echo `pwd` 29 30 #表达式,原生bash不支持简单的数学运算,expr 是一种表达式计算工具 31 val=`expr 2 + 9` 32 echo "value is $val" 33 a=10 34 b=20 35 val=`expr $a * $b` 36 echo "a * b: $val" 37 38 #字符串 39 str="abcd" 40 echo ${#str} 41 echo ${str:1:4} 42 43 #数组 44 arr=(a,b,c,d) 45 echo "first :${arr[0]}" 46 echo "all:${arr[*]}" #获取所有元素 47 echo "length:${#arr[*]}" #获取数组长度 48 49 #if...elif...else...,条件表达式要放在方括号之间,并且要有空格 50 a=10 51 b=20 52 53 if [ $a == $b ] 54 then 55 echo "a is equal to b" 56 elif [ $a -gt $b ] 57 then 58 echo "a is g reater than b" 59 else 60 echo "a is less than b" 61 fi 62 63 #case ...easc... 64 echo 'Input a number between 1 to 4' 65 echo 'Your number is:c' 66 read aNum 67 case $aNum in 68 1) echo 'You select 1' 69 ;; 70 2) echo 'You select 2' 71 ;; 72 3) echo 'You select 3' 73 ;; 74 4) echo 'You select 4' 75 ;; 76 *) echo 'You do not select a number between 1 to 4' 77 ;; 78 esac 79 80 #for...in... 81 for loop in 1 2 3 4 5 82 do 83 echo "The value is: $loop" 84 done 85 86 #while...do...done... 87 echo 'type <CTRL-D> to terminate' 88 i=0 89 while read FILM 90 do 91 echo "Yeah! great film the $FILM" 92 i=`expr $i + 1` 93 b=3 94 if [ $i-gt$b ] #expression 和方括号([ ])之间必须有空格,否则会有语法错误。 95 then 96 break 97 fi 98 done 99 100 #until...do...done 101 a=0 102 until [ ! $a -lt 10 ] 103 do 104 echo $a 105 a=`expr $a + 1` 106 val=`expr $a + $b` 107 done 108 109 110 #函数 111 funWithParam(){ 112 echo "The value of the first parameter is $1 !" 113 echo "The value of the second parameter is $2 !" 114 echo "The value of the tenth parameter is $10 !" 115 echo "The value of the tenth parameter is ${10} !" 116 echo "The value of the eleventh parameter is ${11} !" 117 echo "The amount of the parameters is $# !" # 参数个数 118 echo "The string of the parameters is $* !" # 传递给函数的所有参数 119 } 120 funWithParam 1 2 3 4 5 6 7 8 9 34 73 121 122 funWithReturn(){ 123 echo "The function is to get the sum of two numbers..." 124 echo -n "Input first number: " 125 read aNum 126 echo -n "Input another number: " 127 read anotherNum 128 echo "The two numbers are $aNum and $anotherNum !" 129 return $(($aNum+$anotherNum)) 130 } 131 funWithReturn 132 ret=$? #函数返回值在执行函数后通过$?获得 133 echo "The sum of two numbers is $ret !" 134 135 #输入输出重定向 >,>>(追加), < 136 who>users 137 wc -l<users
  • 相关阅读:
    aria2安装webui
    c++指针参数是如何传递内存的
    ssl 证书申请
    LNMP一键包安装后解决MySQL无法远程连接问题
    流水线设计 转:http://www.opengpu.org/forum.php?mod=viewthread&tid=2424
    IUS nc simulator
    ccd与coms摄像头的区别
    昨天下午写的FPGA驱动VGA显示图片
    tcl脚本
    用FPGA驱动ov7670摄像头用tft9328显示
  • 原文地址:https://www.cnblogs.com/buyizhiyou/p/7058735.html
Copyright © 2011-2022 走看看