【Linux】5.3 Shell字符串

Shell 字符串

字符串是shell編程中最經常使用最有用的數據類型(除了數字和字符串,也沒啥其它類型好用了),字符串能夠用單引號,也能夠用雙引號,也能夠不用引號。單雙引號的區別跟PHP相似。shell

1. 單引號

str='this is a string'
  • 單引號字符串的限制:
    • 單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的;
    • 單引號字串中不能出現單獨一個的單引號(對單引號使用轉義符後也不行),但可成對出現,做爲字符串拼接使用。

2. 雙引號

your_name='runoob'
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str

# 輸出結果爲:
# Hello, I know you are "runoob"!
  • 雙引號的優勢:
    • 雙引號裏能夠有變量
    • 雙引號裏能夠出現轉義字符

3. 拼接字符串

your_name="runoob"

# 使用雙引號拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting  $greeting_1
# 使用單引號拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3

#輸出結果爲:
#hello, runoob ! hello, runoob !
#hello, runoob ! hello, ${your_name} !

4. 獲取字符串長度

string="abcd"
echo ${#string} #輸出 4

5. 提取子字符串

如下實例從字符串第 2 個字符開始截取 4 個字符:編程

string="runoob is a great site"
echo ${string:1:4} # 輸出 unoo

6. 查找子字符串

查找字符 i 或 o 的位置(哪一個字母先出現就計算哪一個):this

string="runoob is a great site"
echo `expr index "$string" io`  # 輸出 4
注意: 以上腳本中 ` 是反引號,而不是單引號 ',不要看錯了哦。
相關文章
相關標籤/搜索