<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Linux Shell 學(xué)習(xí)筆記

      # #!是一個(gè)約定標(biāo)記,告訴系統(tǒng)用哪個(gè)Shell來(lái)執(zhí)行

      #!/bin/bash

      # echo:在控制臺(tái)窗口輸出文本
      echo "hello world"

      # 添加可執(zhí)行權(quán)限
      chmod +x ./test.sh
      # 執(zhí)行腳本
      ./test.sh

      # 變量命名規(guī)則
      # 1,變量名和=之間不能有空格;
      # 2,由英文字符、數(shù)字、下劃線組成,不能數(shù)字開(kāi)頭,不能使用bash關(guān)鍵字
      # 使用變量
      # $變量名 或者 ${變量名} 推薦
      # 設(shè)置變量只讀
      readonly 變量名
      # 刪除變量(不能刪除只讀變量)
      unset 變量名
      # 變量類型
      # 1,局部變量:在腳本或命令中定義,僅在當(dāng)前shell實(shí)例中有效,其他shell不能訪問(wèn)
      # 2,環(huán)境變量:所有的包括shell啟動(dòng)的程序都能訪問(wèn),有些程序依靠環(huán)境變量運(yùn)行。shell腳本可以定義環(huán)境變量
      # 3,shell變量:由shell程序設(shè)置的保證shell正常運(yùn)行的特殊變量。

      # Shell字符串
      # 1,單引號(hào):任何字符都會(huì)原樣輸出,所以變量是無(wú)效的;不能出現(xiàn)單獨(dú)的一個(gè)單引號(hào),可以成對(duì)出現(xiàn)拼接
      # 2,雙引號(hào):可以有變量,會(huì)轉(zhuǎn)義字符
      # 3,不用引號(hào)
      # 獲取字符串長(zhǎng)度
      ${#string}
      # 提取字串:從第二個(gè)字符開(kāi)始截取 4個(gè)字符,有頭有尾
      ${string:1:4}
      # 查找字符串:查找字符i或o的位置(哪個(gè)字符先出現(xiàn)就計(jì)算哪個(gè))
      `expr index "$string" io`

      # Shell數(shù)組:只支持一維數(shù)組,元素用空格分隔
      # 定義:數(shù)組名=(值1 值2 ... 值n)
      # 讀取某個(gè)數(shù)組
      ${數(shù)組名[下標(biāo)]}
      # 讀取所有元素
      ${數(shù)組名[@]}
      # 獲取數(shù)組元素個(gè)數(shù)
      length=${#數(shù)組名[@]}
      length=${#數(shù)組名[*]}
      # 獲取數(shù)組中單個(gè)元素的長(zhǎng)度
      lengthn=${#數(shù)組名[n]}

      # Shell注釋
      # 單行:#
      # 多行:
      :<<EOF
      注釋內(nèi)容
      注釋內(nèi)容
      EOF

      # Shell參數(shù)傳遞
      # 腳本中定義$n,如$1 $2 $3
      # 運(yùn)行時(shí)傳遞 A B C

      # 算術(shù)運(yùn)算符:使用反引號(hào)``括起來(lái),算術(shù)運(yùn)算符兩側(cè)必須有空格
      `expr $a + $b`
      `expr $a - $b`
      `expr $a \* $b`
      `expr $a / $b`
      `expr $a % $b`
      # 條件表達(dá)式:[]括起來(lái),[]同樣必須有空格
      [ $a == $b ]
      [ $a != $b ]

      # 關(guān)系運(yùn)算符:-eq、-ne、-gt、-lt、-ge、-le
      # 兩邊相等,返回true
      [ $a -eq $b ]

      # 邏輯運(yùn)算符:!、-o、-a、||、&&,非、或、與、雙與、雙或,雙與/雙或要加上兩個(gè)[]

      # 字符串運(yùn)算符:=、!=、-z、-n、$,等于、不等于、是否是0長(zhǎng)度、是否不是0長(zhǎng)度、是否為空

      # 文件測(cè)試運(yùn)算符:-d、-f、-r、-w、-x、-s、-e,文件夾、普通文件、可讀、可寫(xiě)、可執(zhí)行、文件大小不為0、存在

      # read:從標(biāo)準(zhǔn)輸入讀取一行,并指定給變量
      read inputStr

      # echo:字符串輸出
      echo -e "a \n b" # -e 開(kāi)啟轉(zhuǎn)義,\n 換行

       

      # printf命令:

      printf比echo移植性更好,基于POSIX標(biāo)準(zhǔn)。

      printf format-string args...

      %s:字符串格式化、%c:?jiǎn)蝹€(gè)字符、%d:整數(shù)、%f:小數(shù)

      %-10s:指一個(gè)寬度為 10 個(gè)字符(- 表示左對(duì)齊,沒(méi)有則表示右對(duì)齊),任何字符都會(huì)被顯示在 10 個(gè)字符寬的字符內(nèi),如果不足則自動(dòng)以空格填充,超過(guò)也會(huì)將內(nèi)容全部顯示出來(lái)。

      printf "%s\n" aa bb cc:一個(gè)格式對(duì)多個(gè)參數(shù),格式會(huì)被重用

      printf "%s%c%d%f":沒(méi)有參數(shù),%s默認(rèn)為NULL,%c默認(rèn)為NULL,%d默認(rèn)為0,%f默認(rèn)為0.000000

      printf轉(zhuǎn)移序列:\b 回退、\n 換行、\r 回車、\t 水平制表符、\v 垂直制表符、\\ \

       

      # Shell流程控制S

      if else判斷(判斷分支不可為空)

      # if else
      if1=100
      if2=200
      if test $[if1] -eq $[if2]
      then
         echo "$if1 等于 $if2"
      elif test $[if1] -gt $[if2]
      then
         echo "$if1 大于 $if2"
      else
         echo "$if1 小于 $if2"
      fi

      for循環(huán)

      # for
      forArr=(1 2 3 4 5)
      for i in ${forArr[*]}
      do
          echo "the value is $i"
      done

      while循環(huán)

      # while
      w1=1
      while(( $w1<=5 )) # while后面還可以接read:while read inputStr
      do
          echo $w1
          let "w1++"
      done

      無(wú)限循環(huán)

      incre=1
      while true # 或者冒號(hào): # for(( ; ; ))
      do
          echo "死循環(huán)啦$incre"
          let "incre++"
      done

      until循環(huán)(與while相反)

      # until:與while相反
      u1=1
      until [ ! $u1 -lt 3 ] # 只要u1不小于3,則執(zhí)行do
      do
          echo $u1
          u1=`expr $u1 + 1`
      done

       case遍歷

      echo '請(qǐng)輸入1-3之間的數(shù)字'
      echo '您輸入的數(shù)字為:'
      read inputNum
      case $inputNum in
          1) echo '您輸入了1'
          ;;
          2) echo '您輸入了2'
          ;;
          3) echo '您輸入了3'
          ;;
          *) echo '您沒(méi)有輸入1-3之間的數(shù)字'
          ;;
      esac

       break&continue

      while :
      do
         echo -n "請(qǐng)輸入1到5之間的數(shù)字"
          read inputNum
          case $inputNum in
          1|2|3|4|5) echo "您輸入的數(shù)字為$inputNum"
          ;;
          *) echo "您輸入數(shù)字不在1到5之間"
              break # 跳出所有循環(huán)
      #        continue # 跳出當(dāng)前循環(huán),后面的語(yǔ)句不會(huì)被執(zhí)行
      #        echo "GG"
          ;;
          esac
      done

       

      # Shell函數(shù)

      # 無(wú)參函數(shù)
      myfunc01(){ echo
      "this is my first function" return `expr 1 + 2` } myfunc01 # 函數(shù)必須先定義再調(diào)用 echo "函數(shù)的返回值是: $? " # 函數(shù)的返回值通過(guò) $? 獲取
      # 有參函數(shù)
      myfun02(){
          echo "$1"
          echo "$2"
          echo "$10"
          echo "${10}"   # 當(dāng)$后面>=10時(shí),要使用${10}
          echo "傳入的參數(shù)個(gè)數(shù)是 $# 個(gè)"
      }
      myfun02 1 2 3 4 5 6 7 8 9 33 44

       

      posted @ 2021-03-13 09:48  lynnk1ng  閱讀(78)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲精品日本一区二区| 国产亚洲精品AA片在线爽| 国产精品一区二区三区四区| 日韩一区二区三区精品区| 国产成人免费| 日本一区不卡高清更新二区| 国产裸体无遮挡免费精品| 国产精品视频一品二区三| 少妇xxxxx性开放| 日本熟妇乱一区二区三区| 无遮高潮国产免费观看| 中文字幕国产原创国产| 日韩一区二区三区日韩精品| 少妇高潮惨叫喷水在线观看| 激情国产一区二区三区四区| 国产精品中文字幕观看| 无套内射极品少妇chinese| 亚洲国产日韩欧美一区二区三区 | 蜜桃久久精品成人无码av| 国产一区日韩二区欧美三区| 视频一区二区不中文字幕| 久久精品中文字幕少妇| 福利一区二区在线视频| 亚洲色最新高清AV网站| 欧美大胆老熟妇乱子伦视频| 亚洲色大成网站www永久一区 | 亚洲日本中文字幕天天更新| 公与淑婷厨房猛烈进出视频免费| 日本少妇自慰免费完整版| 免费99视频| 国产精品麻豆成人AV电影艾秋 | jk白丝喷浆| 日韩人妻无码精品久久| 真人无码作爱免费视频| 人妻av中文字幕无码专区| 国产叼嘿视频一区二区三区 | 国产在线午夜不卡精品影院| 国内精品久久久久影院网站| 国产精品亚洲综合久久小说| 国产亚洲久久久久久久| 亚洲五月天一区二区三区|