Linux入門篇(五)——Shell(一)


這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下自己的學習過程,也方便大家簡要的了解

Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。

代碼在github上:Linuxpractice

其他內容:

Linux入門篇(一)——基本命令

Linux入門篇(二)——文件

Linux入門篇(三)——文件與目錄

 

Linux入門篇(四)——Vim的使用與Bash

 

Shell

一、shell的變量功能

  • 變量的顯示 $ echo
  • 變量的修改 $ 變量名=變量值
  • 環境變量功能: $ env 可以列舉出當前shell環境下所有的環境變量。

環境變量的舉例:

  • HOME:代表主文件夾
  • SHELL:目前環境代表的shell程序
  • HISTSIZE:可紀錄的歷史命令的條數
  • MAIL:讀取的郵件文件
  • PATH:執行文件查詢路徑
  • LANG:語系數據
  • RANDOM:隨機數變量

變量的有效范圍:一般情況下,父進程的自定義變量無法在子進程內使用,除非通過export將其變為環境變量,否則就是自定義變量。(與內存分配的記憶塊有關)

  • read 讀取來自鍵盤輸入的變量: $ read [-pt] variable
  • declare和typeset是一樣的功能用來聲明:$ declare [-aixr] variable

                      -a: variable為數組類型

                      -i: variable為integer類型

                      -x:用法與export一致

                      -r:變量設置為readonly,只讀類型,不可以修改

數組變量類型:array

  • 設置方法:   $ var [index]=context  bash的數組下標是從0開始的。

          數組名 下標  變量值

  • 讀取方式: $ echo ${var[1]}

變量內容的刪除、替換:

  •    變量設置方法                      說明

    ${變量#關鍵字}           若變量內容從頭開始數據符合”關鍵字“,則將符合的最短數據刪除。

    ${變量##關鍵字}              若變量內容從頭開始數據符合”關鍵字“,則將符合的最長數據刪除。

    ${變量%關鍵字}             若變量內容從尾開始數據符合”關鍵字“,則將符合的最短數據刪除。

    ${變量%%關鍵字}          若變量內容從尾開始數據符合”關鍵字“,則將符合的最長數據刪除。

    ${變量/舊字符串/新字符串}            替換第一個符合的字符串。

    ${變量//舊字符串/新字符串}             替換全部符合的字符串。

  •   變量的測試與內容的替換

      new_var=${old_var-content}

  新變量    關鍵字 舊變量 變量內容

 

三、Bash Shell操作環境

 

一個命令被執行時,命令執行的順序是:

  • 以相對/絕對路徑執行命令。
  • 由alias找到該命令並執行。
  • 由bash內置的(builtin)命令執行。
  • 通過$PATH變量的順序找到第一個來執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM