Bash 拼接字符串

2021-08-27 15:56 更新

字符串的拼接是任何一种编程语言的硬性通用要求之一。在 shell 中字符串的拼接十分简单,但仍然需要注意细节上的处理。

基本语法

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

注:
- {}作用为帮助解释器识别变量边界。
- 在此出于严谨考虑,最好应养成随手添加{}的习惯,避免疏忽导致脚本执行效果未达到您的期望。

示例

  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

注:
- 在此出于严谨考虑,最好应养成随手添加 " "的习惯,避免疏忽导致脚本执行效果未达到您的期望。
- 在代码第8行,若不以 " "将整个语句引起,解释器在遇到空格时将会视为字符串结束,空格之后的内容将作为其他变量或命令进行解析。

执行后得到以下结果:

  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

外壳执行
请参阅:命令替换

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

Bash 参数扩展

句法

  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如果未设置
  2. ${FOO:=val} 如果未设置$FOOval则设置为
  3. ${FOO:+val} val如果$FOO设置
  4. ${FOO:?message} 如果$FOO未设置,则显示消息并退出
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号