Bash 拼接字符串

2021-08-27 15:56 更新

字符串的拼接是任何一種編程語言的硬性通用要求之一。在 shell 中字符串的拼接十分簡單,但仍然需要注意細節(jié)上的處理。

基本語法

  1. str3="${str1}${str2}

注:
- {}作用為幫助解釋器識別變量邊界。
- 在此出于嚴謹考慮,最好應(yīng)養(yǎng)成隨手添加{}的習慣,避免疏忽導(dǎo)致腳本執(zhí)行效果未達到您的期望。

示例

  1. #!/bin/bash
  2. str1="welcome to"
  3. str2=" W3Cschool."
  4. str3="${str1}${str2}"
  5. str4="Hello user,${str1}${str2}"
  6. echo $str3
  7. echo $str4

注:
- 在此出于嚴謹考慮,最好應(yīng)養(yǎng)成隨手添加 " "的習慣,避免疏忽導(dǎo)致腳本執(zhí)行效果未達到您的期望。
- 在代碼第8行,若不以 " "將整個語句引起,解釋器在遇到空格時將會視為字符串結(jié)束,空格之后的內(nèi)容將作為其他變量或命令進行解析。

執(zhí)行后得到以下結(jié)果:

  1. welcome to W3Cschool.
  2. Hello user,welcome to W3Cschool.

支撐擴展
請參閱:支撐擴展

  1. echo {A,B}.js
  2. {A,B} 與...一樣 A B
  3. {A,B}.js 與...一樣 A.js B.js
  4. {1..5} 與...一樣 1 2 3 4 5

外殼執(zhí)行
請參閱:命令替換

  1. echo "I'm in $(PWD)"
  2. ## Same
  3. echo "I'm in `pwd`"

Bash 參數(shù)擴展

句法

  1. ${FOO%suffix} 刪除后綴
  2. ${FOO#prefix} 刪除前綴
  3. ${FOO%%suffix} 去除長后綴
  4. ${FOO##prefix} 刪除長前綴
  5. ${FOO/from/to} 替換第一場比賽
  6. ${FOO//from/to} 全部替換
  7. ${FOO/%from/to} 替換后綴
  8. ${FOO/#from/to} 替換前綴

子串

  1. ${FOO:0:3} 子串(位置,長度)
  2. ${FOO:(-3):3} 右邊的子串

長度

  1. ${#FOO} 的長度 $FOO

默認值

  1. ${FOO:-val} $FOO, 或者val如果未設(shè)置
  2. ${FOO:=val} 如果未設(shè)置$FOO,val則設(shè)置為
  3. ${FOO:+val} val如果$FOO設(shè)置
  4. ${FOO:?message} 如果$FOO未設(shè)置,則顯示消息并退出
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號