linux SHELL 編程基礎知識(隨筆記)__區塊鏈

來源:互聯網
上載者:User

SHELL編程

一切的代碼都是對簡單的基本語句進行組裝,按照自己的意願進行編寫,最終得到想要的功能程式。

1、開頭:    #。 /bin/bash

                  #。是告訴系統後面的參數用來執行檔案的程式。下面的代碼作為輸入,進入到bash環境中執行。

2、注釋    #後面的就是注釋。

3、設定執行許可權。chmod u+x  檔案名稱

             在剛建立shell檔案時候,程式預設為644(umask)使用上面命令,使該shell檔案可執行。在terminal中輸入檔案名稱即可執行。

4、執行shell的幾種方法,

             bash  檔案名稱、   實際上是調用一個新的bash命令解釋程式,把shell程式檔案名稱作為參數傳遞給它。

             bash < 檔案名稱。 與上一條差不多,進行輸入重新導向,使shell的輸入取自製定的程式檔案。

             在執行shell程式時候,最好按照這樣的順序: 對一個剛建立的shell還沒有正確性把握,應使用bash + 檔案名稱的方式進行調試,但是一旦當shell固定那麼就用chmod命令把檔案設定成可執行,以後只需要輸入相應名字就可以執行該shell指令碼。

5、bash程式的調試

           bash + 選項 + 程式檔案名稱

           -e遇到失敗的命令就退出

          -n讀入命令但是不執行命令。

          -u置換時把未設定的變數看作出錯。

          -v當讀入shell輸入行時候,把它們顯示出來。

          -x執行命令時把命令和它們的參數顯示出來

在進行shell程式的編寫的時候,可以寫set -選項 與 set + 選項在這兩個選項之間寫的代碼可以按照該選項功能來進行調試。

6、bash內部命令。

         bash命令解釋程式包含了一些內部命令。

           echo  eval  exec(直接執行制定的命令,接下來的來源程式的命令不執行直接終止進程。) export

           readonly    read     shift      wait     exit   .(點)

7、shell中的位置參數。

       shell程式特別有意思的就是它的參數是在調用shell程式的命令列中按照各自的位置決定的。在程式名之後輸入位置參數,參數之間用空格進行區分。第一個參數就替換$1一次類推。特殊的是$0,它的內容是當前這個shell程式的檔案名稱,所以$0不是一個位置參數,在顯示當前所有位置參數的時候是不包括$0的。

8、shell環境變數。

        shell在開始執行的時候,就已經定義了一些與系統工作環境相關的變數,使用者可以重新進行定義,改編成適合自己使用的。

        HOME: 用於儲存使用者宿主目錄的完全路徑名。

       TERM:終端的類型。

        PATH:用於儲存用冒號分隔的路徑名,shell按照PATH變數給出的路徑順序進行搜尋這些目錄,找到的第一個命令名稱一致的可執行檔將被執行。

       PS1: 主提示符,root為# 普通使用者為$、

        PS2:在shell結合搜使用者輸入命令的過程中,如果使用者輸入”\“則表示該命令還沒有輸入完成,下一行仍繼續輸入,這個參數就是那個提示符,">"

9、預定義的變數。

也是在一開始就定義了的變數,不同的是,使用者只能根據shell的定義來使用這些變數

     常用的預定義變數入下:

      $#   位置參數的數量                          $*     所有位置參數的內容                             $?   命令執行後的返回狀態,可以產看上一個命令的執行是否成功。

      $$   當前進程的進程號                      $!   後台啟動並執行最後一個進程號                    $0  當前執行的進程名。

10、參數置換變數

     shell提供了參數置換功能 讓使用者可以根據不同的條件來給變數賦不同的值,參數置換的變來那個有四種,唯寫變來那個通常與摸一個位置參數系那個聯絡,根據制定的位置參數是否已經設定決定變數的取值。

     變數=${參數-word}    如果設定了參數,那麼用參數替換變數的值,否則就用word進行替換,這種變數的值,等於摸個參數的值,

     變數=${參數=word}   如果設定了參數,則用參數替換變數的值,否則把變數設定成word,然後再用word替換參數的值,   位置參數不能用這種方式,

     變數=${參數=。word} 如果設定了參數,那麼參數的值替換斌兩的值,否則就顯示word並從shell中退出,如果省略了word,則顯示標準資訊,這種變數要求一定等於摸一個參數的值,如果該參數沒有設定,就顯示一個資訊,容納後蕊初,

      變數=${參數+Word} 如果設定參數,那麼Word替換,否則不替換,

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.