Linux Bash Shell學習筆記,bash學習筆記

來源:互聯網
上載者:User

Linux Bash Shell學習筆記,bash學習筆記

參數擴充:


1.被名稱引用的參數稱作變數
2.被數字引用的參數稱作位置參數
3.被特定符號引用的參數具有特殊的含義和用途,被稱作Bash的特殊內部變數引用。

基本參數擴充:
字元$會引導參數擴充。大括弧是可選的,但是大括弧可以保護待擴充的變數,使得緊跟大括弧後面的內容不會被擴充。
例:

1 $ PARAMETER2 $ {PARAMETER}3 #如果參數名後跟其他字元,大括弧是必須的。4 5 $ WORD=car6 $ echo $WORDs
7 $ echo ${WORD}s8 cars

 

 對於$9後面的參數也是要用大括弧的。
注意:參數名是大小寫敏感的。

間接參數擴充:

1 $ PARAMETER=TEMP2 $ TEMP="It's indirect"3 $ echo $PARAMETER4   TEMP5 $ echo ${!PARAMETER}6 it's indirec

 

大小寫修改(Bash4.0):

 1 $ echo ${PARAMETER^} 2 #將參數的第一個字元改為大寫 3 $ echo ${PARAMETER^^} 4 #將參數的全部字元改為大寫 5 $ echo ${PARAMETER,} 6 #將參數的第一個字元改為小寫 7 $ echo ${PARAMETER,,} 8 #將參數的全部字元改為小寫 9 $ echo ${PARANETER~}10 #將參數的第一個字元改為大寫11 $ echo ${PARANETER~~}12 #將參數的全部字元改為大寫

 

大小寫修改執行個體:

1 # for file in *.txt2 >do3 >mv "$file" "${file,,}"4 >done

 

變數名擴充:

1 ${!PREFIX*}2 ${!PREFIX@}3 #列出以字串PREFI開頭的所有變數名

 

例:列出以BASH開頭的所有變數名

1 $echo ${!BASH*}2 BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_LINENO BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION

字串移除:

1 ${PARAMETER#PATTERN}2 ${PARAMETER##PATTERN}3 #移除從參數值的開頭匹配指定模式的字串4 ${PARAMETER%PATTERN}5 ${PARAMETER%%PATTERN}6 #移除從參數值的結尾匹配指定模式的字串7 #”#“和”%“表示移除匹配指定模式的最短文本,”##“和”%%“表示移除匹配模式的最長文本。

 

字串移除執行個體:

 1 $ MYSTRING="This is used for removing string" 2 $ echo ${MYSTRING#* } 3 is used for removing string 4  5 $echo ${MYSTRING##* } 6 string 7  8 $echo ${MYSTRING% *} 9 This is used for removing10 11 $echo ${MYSTRING%% *}12 This

 

參數用途,提取檔案名稱的一部分:

 1 $ FILENAME=linux_bash.txt 2  3 $ echo ${FILENAME%.*}                       #移除檔案名稱的尾碼 4 linux_bash 5  6 $ echo ${FILENAME##*.}                     #移除檔案名稱,保留尾碼 7 txt  8  9 FILENAME=/home/book/linux_bash.txt10 11 $ echo ${FILENAME%/*}                      #移除檔案名稱,保留目錄名12 /home/book13 14 $ echo ${FILENAME##*/}                    #移除目錄名,保留檔案名稱15 linux_bash.txt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.