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

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

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

      Linux shell 程序設計

      shell 程序設計

      主要的學習內容包含基本思路,語法:變量、條件判斷和程序控制,命令列表,函數,命令及執行,調試,grep命令和正則表達式,find命令

      什么是shell

      適用編寫執行相對簡單任務的小工具。
      linux系統中,標準shell是GNU工具集中bash(GNU Bourne—Again Shell)。查看bash版本號

      /bin/bash --version

      管道和重定向

      • 重定向輸出> ls -1 > lsoutput.txt

      把ls命令的輸出保存到文件lsoutput.txt中
      其中參數 -1代表文件描述符,0代表程序的標準輸入,1代表標準輸出,2代表錯誤輸出。> 把標準輸出重定向到一個文件,覆蓋已經有的文件

      ps >> lsoutput.txt

      其中>>表示把輸出內容附加到文件后

      把標準輸出和標準錯誤輸出都重定向到一個文件中,用>&來結合兩個輸出

      kill -1 1234 >killouterr.txt 2>&1

      • 管道

      利用管道操作符|來連接進程。通過管道連接的進程可以同時運行,并且隨著數據流在它們之間的傳遞可以自動的進行協調

      ps -xo comm | sort | uniq | grep -v sh |more

      這一命令按照字母順序排序ps命令的輸出,接著用uniq去除相同名字的進程,然后用grep -v sh刪除sh的命令,最后將結果顯示在屏幕上。

      程序設計語言的shell

      • 交互式程序

      即在命令行上直接輸入shell腳本。要繼續輸入時$就變成了>,由shell判斷何時輸入完畢并執行腳本程序

      • 創建腳本
      1. 用文本編輯器創建一個腳本 first2. 運行腳本的方式有兩種
      • /# !后面的參數指的是用來執行本文件的程序。

      • /bin/sh first

      • chmod +x first first(shell的環境變量PATH為要在當前目錄下查找要執行的命令)或者./first(建議使用)

      shell的語法

      變量

      特點是

      1. 使用時不需要做出聲明,使用時同時創建。
      2. 區分大小寫
      3. 通過在變量名前加$來訪問。然后通過echo來顯示。

      例子 引號以及read的使用 variable

      # !bin/sh

      myvar="Hi there"

      echo $myvar echo "$myvar" echo '$myvar' echo $myvar

      read myvar echo $myvar

      輸出為 Hi there Hi there $myvar $myvar

      在變量前面加$能顯示變量的內容,使用雙引號不影響變量的替換,使用單引號和\不進行變量的替換,用read從用戶處讀入一個字符串。

      環境變量

      $HOME : 當前目錄的家目錄
      $PATH: 用冒號分隔用來搜索命令的目錄列表
      $PS1:
      $0:腳本名字
      $#:傳遞給腳本的參數個數
      $$:腳本的進程號
      $1,2,3:腳本的參數

      條件

      • test []:shell的布爾判斷命令

        if [-f fred.c]

      then
      
      .....
      
      fi
      
      • test 可以使用的條件類型:字符串比較,算術比較和文件有關的測試

      -d file :文件是否為目錄
      -e:存在
      -f:普通文件

      控制結構

      • if then elif then fi.

      ``if condition

      then
      
      statements
      
      elif
      
      statements
      
      else
      
      statements
      
      fi
      
      • for .. in .. do done

      • while do done

        #!/bin/sh

        echo "password"

        read password

        while [ "$password" != "secret" ]

        do

        echo "sorry,try again"

        read password

        done

        exit 0

      • 常用寫法 while [ ]; do

      • until

      until ..do :循環根據就不需要執行采用util,至少執行一次采用while

      • case
      • 命令列表

      將幾條命令連接成一個序列,執行某個語句之前同時滿足好幾個條件

      1. AND列表
        state1 && state2 && state3
        從左到右順序執行每條命令,只有前一條返回true,它下一條命令才執行。

      2. state1 || state2 || state3

      函數

      function_name() {

      statements
      }

      命令

      • break:用于跳出當前循環,只跳出一層循環

      • :命令是一個空命令,用來簡化邏輯,相當于true的別名。

      while :相當于 while true
      : $

      • .命令
        ../shell_script 用于在當前shell中執行命令
      • eval 命令
        像個額外的$,給出一個變量值的值
      • exec命令
        將當前shell替換為一個不同的程序
      • export 命令
        一旦一個變量被shell導出,它可以被該shell調用的任何腳本使用,也可以被后續依次調用的任何shell使用

      linux

      • expr 命令

      將它的參數當作一個表達式來求值 可以用$()來替換

      • printf 命令

      • set命令
        作用為為shell腳本設置參數變量。

      • shift

      把所有參數變量左移一個位置,使$2變成$1
      下面代碼實現依次掃描所有的位置參數

      \#!/bin/sh
      while [ "$1" != "" ]; do
      	echo "$1"
      	shift
      done 
      exit 0
      
      • trap命令
        用于指定在接收到信號后要采取的行動。
        用法: trap command signal
        command:接收到信號后要采取的行動。
        signal:要處理的信號名。
      • unset命令
        用于從環境中刪除變量或函數。

      正則表達式極其相關的命令

      • find 命令
        find的完整語法格式:
        find [path] [options] [tests] [actions]
        path :可以選擇絕對路徑也可以選擇相對路徑。
        使用操作符和圓括號的find命令
        比如在當前目錄下找出文件中比test_for 更新并且以test_為后綴的文件

      例1.

      find . \( -name "test_*" -and -newer test_for \) -type f -print 
      

      命令解釋:用\轉義(),因為()在shell里面有特殊含義,用-and來連接兩個測試(-or 或 -not )

      例2.

      find . -newer test_for -type f -exec ls -l {} \;
      

      命令解釋:-exec 執行一條命令,讀取參數直到;為止,{}是-exec的參數,它被當前文件的完整路徑取代。

      • gerp命令
        grep(General Regular Expression Parser )
        find 用來在系統中搜索文件,而grep命令在文件中搜索字符串。
        grep [options] PATTERN [FILES]
      posted @ 2015-04-17 21:29  dawnminghuang  閱讀(492)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产在线精品无码二区| 777久久精品一区二区三区无码| 精品无码成人片一区二区| 日韩精品不卡一区二区三区| 久操热在线视频免费观看| 狠狠色综合久久丁香婷婷| 中文字幕在线精品人妻| 五月婷婷久久中文字幕| 亚洲情A成黄在线观看动漫尤物| 少妇大叫太大太爽受不了| 亚洲男人天堂一级黄色片| 亚洲精品一区二区18禁| 五月婷婷久久中文字幕| 99在线精品国自产拍中文字幕| 久久日产一线二线三线| 无码精品国产VA在线观看DVD| 将乐县| 免费天堂无码人妻成人av电影| 国产一区日韩二区三区| a片免费视频在线观看| 99在线小视频| 亚洲不卡一区二区在线看| 免费看黄片一区二区三区| 亚洲欧美日韩愉拍自拍美利坚| 欧美日韩国产综合草草| 亚洲国产午夜精品理论片在线播放| 中文字幕永久精品国产| 任我爽精品视频在线播放| 欧美久久精品一级c片免费| 公喝错春药让我高潮| 亚洲日本va午夜中文字幕久久| 五月婷之久久综合丝袜美腿| 蜜臀av无码一区二区三区| 无码人妻一区二区三区精品视频| 国产偷窥厕所一区二区| 国产一区日韩二区三区| 国产福利视频区一区二区| 国产av一区二区午夜福利| 一区二区丝袜美腿视频| 国产精品一品二区三区日韩| 国产偷国产偷亚洲高清日韩|