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

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

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

      關于腳本

      編寫腳本中出現的三種錯誤

      1.語法錯誤bash-n 檢查語法錯誤只是檢查并不執行 語法錯誤之后命令不會再執行

      Cat - A查看有無特殊符號語法錯誤

      Cat -n列行

      1. 邏輯錯誤 后續命令仍會執行

      bash-x 逐行執行 每一行命令都會顯示出來

      Cat test .txt在腳本中加測試代碼每隔一段輸出出來一次

      1. 命令錯誤 仍然會執行后續命令

      也是用bash-x命令

       

      關于變量:

      變量類型大致分為:環境變量 內置變量 只讀變量 位置變量 退出狀態碼變量 以及自定義變量

      1)環境變量:環境變量:

      可以使子進程(包括孫子進程)繼承父進程的變量,但是無法讓父進程使用子進程的變量

      一旦子進程修改從父進程繼承的變量,將會新的值傳遞給孫子進程

      一般只在系統配置文件中使用,在腳本中較少使用

      變量聲明及賦值:#聲明并賦值

      export name=VALUE

      declare -x name=VALUE

      變量引用:$name  ${name

      注意 :變量的值加不加單引號雙引號并無區別 但是等號前后不能帶空格 TITLE=cto

      顯示出變量的值 echo $TITLE  echo后面必須加$否則 echo認為后面的是字符串進行輸出

      變量value的值可以是多種結果

      我們可以把一個變量的值賦給另一個 NAME=$TITLE

      腳本中的變量只在腳本中使用

      子進程的變量在父進程或者其他地方是看不到的

      Echo 兩個變量的時候 中間不能添加下劃線否則 echo認為是一個整體只會輸出一個變量

      Env顯示環境變量

      $?的值是由最后一條決定的 中間錯誤不會影響顯示

      2)只讀變量:只讀變量:只能聲明定義,但后續不能修改和刪除,即常量

      3)聲明只讀變量:  

      readonly name

      declare  -r name

      查看只讀變量:readonly [-p]

      declare -r

      4)位置變量 ;位置變量:在bash shell中內置的變量, 在腳本代碼中調用通過命令行傳遞給腳本的參數

      5)退出狀態碼變量:當我們瀏覽網頁時,有時會看到下圖所顯示的數字,表示網頁的錯誤信息,我們稱為狀態碼,在shell腳本中也有相似的技術表示程序執行的相應狀態。

      關于腳本安全;set 命令實現腳本安全

      -u 在擴展一個沒有設置的變量時,顯示錯誤信息, 等同set -o nounset

      -e 如果一個命令返回一個非0退出狀態值(失敗)就退出, 等同set -o errexit

      -o option 顯示,打開或者關閉選項

      顯示選項:set -o

      打開選項:set -o 選項

      關閉選項:set +o 選項

      -x 當執行命令時,打印命令及其參數,類似 bash -x

       

      邏輯運算:

      與:與:&:和0相與,結果為0,和1相與,結果保留原值

      或:|:和1相或結果為1,和0相或,結果保留原值

      非:! ! 1 = 0 ! true  ! 0 = 1 ! false

      異或:異或的兩個值,相同為假,不同為真。兩個數字X,Y異或得到結果Z,Z再和任意兩者之一X異或,將得出 另一個值Y

      短路運算

      短路與

      CMD1 短路與 CMD2

      第一個CMD1結果為 0 (假 ),總的結果必定為0,因此不需要執行CMD2

      第一個CMD1結果為 1 (真),第二個CMD2必須要參與運算,才能得到最終的結果

      短路或

      CMD1 短路或 CMD2

      第一個CMD1結果為1 (真),總的結果必定為1,因此不需要執行CMD2

      第一個CMD1結果為0 (假 ),第二個CMD2 必須要參與運算,,才能得到最終的結果

      短路與跟短路或同時使用的時候必須短路與寫在前面 否則會出現錯誤 會打印兩條命令

       

      花括號跟小括號在組合測試短路與短路或這里使用區別不大 但是要注意{}里面前后都要加空格 以及后面需要加;

       

      條件測試命令

      test EXPRESSION

      [ EXPRESSION ]

      [[ EXPRESSION ]]

      注意:EXPRESSION前后必須有空白字符

      條件測試比數字大小

      【】內變量前必須加$ 而且兩個變量必須都是數字

      【】兩個變量相比等號前面必須有空格

      建議變量加上雙引號引起來

       

      關于()  {}

      ( list ) 會開啟子shell,并且list中變量賦值及內部命令執行后,將不再影響后續的環境, 幫助看:man bash 搜索(list)

      { list; } 不會啟子shell, 在當前shell中運行,會影響當前shell環境, 幫助參看:man bash 搜索{ list; }

      組合測試:組合測試條件

      2.13.1 第一種方式

      說明: -a 和 -o 需要使用測試命令進行,[[ ]] 不支持

      范例:

      2.13.2 第二種方式

      [ EXPRESSION1 -a EXPRESSION2 ] 并且

      [ EXPRESSION1 -o EXPRESSION2 ] 或者

      [ ! EXPRESSION ] 取反

       

      條件選擇:條件選擇

      4.1.1 選擇執行if語句

      格式: 單分支 雙分支 多分支

      .   ~/.bashrc

      if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else

      COMMANDS; ] fi

      多個條件時,逐個條件進行判斷,第一次遇為“真”條件時,執行其分支,而后結束整個if語句

      if 語句可嵌套

      條件判斷case語句

      格式:

      case支持glob風格的通配符:

      范例:

      case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

      posted @ 2020-04-05 20:37  肖豪  閱讀(266)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美肥老太交视频免费| 色哟哟www网站入口成人学校| 肉大捧一进一出免费视频| 天堂a无码a无线孕交| 99久久激情国产精品| 精品日韩色国产在线观看| 人妻少妇不满足中文字幕| 国产婷婷精品av在线| 亚洲日本乱码熟妇色精品| 国产精品久久久久久无毒不卡| 亚洲国产精品久久久天堂麻豆宅男| 永久免费无码av在线网站| 日韩中文字幕有码av| 人妻夜夜添夜夜无码av| 免费无码一区二区三区蜜桃| 中文字幕国产日韩精品| 国产无套白浆一区二区| 在线精品国产中文字幕| 精品亚洲国产成人av| 欧美日韩一区二区三区视频播放| jizz国产免费观看| 福利一区二区视频在线| 越南女子杂交内射bbwxz| 92国产精品午夜福利| 免费吃奶摸下激烈视频 | 文安县| 大地资源高清免费观看| 日韩精品成人网页视频在线 | 精品偷拍一区二区三区在| 久久综合亚洲色一区二区三区| 亚洲精品理论电影在线观看 | 亚洲色婷婷一区二区| 起碰免费公开97在线视频| 国产成人精品一区二区三区 | 午夜福利在线观看6080| 少妇愉情理伦片丰满丰满午夜| 日本久久99成人网站| 亚洲成在人线AV品善网好看| 少妇愉情理伦片丰满丰满午夜| 国产一区二区三区不卡观| 国内少妇偷人精品免费|