abstrak:Shell字符串用法Shell中的字符串可以用引號包起來,也可以不用引號。用引號的話可以用雙引號,也可以用單引號。其單雙引號的區(qū)別跟PHP相類似。接下來給大家介紹下Shell中字符串單雙引號的區(qū)別和用法舉例。加單引號用法示例str='www.linuxdaxue.com'加單引號的特點:Shell單引號里的任何字符都會被原樣輸出,單引號字符串中的變量無效;Shell單引號字串中不能
Shell字符串用法
Shell中的字符串可以用引號包起來,也可以不用引號。
用引號的話可以用雙引號,也可以用單引號。其單雙引號的區(qū)別跟PHP相類似。
接下來給大家介紹下Shell中字符串單雙引號的區(qū)別和用法舉例。
加單引號
用法示例
str='www.linuxdaxue.com'
加單引號的特點:
Shell單引號里的任何字符都會被原樣輸出,單引號字符串中的變量無效;
Shell單引號字串中不能出現(xiàn)單引號(對單引號使用轉義符也不行)。
加雙引號
用法示例
myweb='linuxdaxue.com' str="Hello, you are browsing \"$myweb\"! \n"
加雙引號的優(yōu)點:
Shell雙引號里可以有變量
Shell雙引號里可以出現(xiàn)轉義字符
所以,建議大家在使用Shell時,對字符串要加上引號,而且最好加雙引號。
Shell字符串的操作
Shell中對于字符串的操作如下表格所示:
Linux Shell常用操作舉例
接下來給大家舉幾個常用操作的例子
1)輸出字符串長度
[linuxdaxue @linuxdaxue ~]$ test='I love china' [linuxdaxue @linuxdaxue ~]$ echo ${#test} 12
${#變量名} 得到字符串長度
2)截取字符串
[linuxdaxue @linuxdaxue ~]$ test='I love china' [linuxdaxue @linuxdaxue ~]$ echo ${test:5} e china [linuxdaxue @linuxdaxue ~]$ echo ${test:5:10} e china
${變量名:起始:長度}得到子字符串
3)字符串的刪除
[linuxdaxue @linuxdaxue ~]$ test='c:/windows/boot.ini' [linuxdaxue @linuxdaxue ~]$ echo ${test#/} c:/windows/boot.ini [linuxdaxue @linuxdaxue ~]$ echo ${test#*/} windows/boot.ini [linuxdaxue @linuxdaxue ~]$ echo ${test##*/} boot.ini [linuxdaxue @linuxdaxue ~]$ echo ${test%/*} c:/windows [linuxdaxue @linuxdaxue ~]$ echo ${test%%/*}
${變量名#substring正則表達式}從字符串開頭開始配備substring,刪除匹配上的表達式。
${變量名%substring正則表達式}從字符串結尾開始配備substring,刪除匹配上的表達式。
注意:${test##*/},${test%/*} 分別是得到文件名,或者目錄地址最簡單方法。
4)字符串的替換
[linuxdaxue@linuxdaxue~]$ test='c:/windows/boot.ini' [linuxdaxue@linuxdaxue~]$ echo ${test/\//\\} c:\windows/boot.ini [linuxdaxue@linuxdaxue~]$ echo ${test//\//\\} c:\windows\boot.ini
${變量/查找/替換值} 一個“/”表示替換第一個,”//”表示替換所有,當查找中出現(xiàn)了:”/”請加轉義符”\/”表示。
好了,以上就是Shell字符串的一些基本概念和常用命令,希望大家能夠熟練掌握。