02.shell字符串
- 1. 1.Shell 字符串
字符串是shell編程中最常用最有用的數據類型(除了數字和字符串,也沒啥其它類型好用了),字符串可以用單引號,也可以用雙引號,
也可以不用引號。單雙引號的區別跟PHP類似。
1.1單引號
str=‘this is a string‘
單引號字符串的限制:
- 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
- 單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。
1.2雙引號
your_name=‘qinjx‘ str="Hello, I know your are \"$your_name\"! \n"
雙引號的優點:
- 雙引號裏可以有變量
- 雙引號裏可以出現轉義字符
1.3拼接字符串
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
1.4獲取字符串長度
string="abcd" echo ${#string} #輸出 4
1.5截取取子字符串
以下實例從字符串第 2 個字符開始截取 4 個字符:
string="runoob is a great site" echo ${string:1:4} # 輸出 unoo
假設有變量 var=http://www.aaa.com/123.htm
# 號截取,刪除左邊字符,保留右邊字符。
echo ${var#*//}其中 var 是變量名,# 號是運算符,*// 表示從左邊開始刪除第一個 // 號及左邊的所有字符
結果是 :www.aaa.com/123.htm
## 號截取,刪除左邊字符,保留右邊字符。
%號截取,刪除右邊字符,保留左邊字符
%% 號截取,刪除右邊字符,保留左邊字符
即刪除 http://
1.6查找子字符串
查找字符 "i 或 s" 的位置:
string="runoob is a great company" echo `expr index "$string" is` # 輸出 8
註意: 以上腳本中 "`" 是反引號,而不是單引號 "‘",不要看錯了哦。
02.shell字符串