Linux - 简明Shell编程03 - 字符串(String)
示例脚本及注释
#!/bin/bash
str="Shell"
str2="Hello $str !"
str3="Hello ${str} !"
echo "拼接字符串: $str2"
echo "拼接字符串: $str3"
test1="一二三四五六七八九零"
echo "截取test1: " $test1
echo '${#var},返回变量字符串长度:' ${#test1}
echo '${var:index},截取字符串:' ${test1:2} # 返回从index开始到末尾的内容
echo '${var:index},截取字符串:' ${test1:0-3} # 返回从倒数index开始到末尾的内容
echo '${var:index:length},截取字符串:' ${test1:3:5} # 返回从index开始的length个字符的内容
test2="http://192.168.1.1/index.htm"
echo "过滤test2: " $test2
echo '${var#string},短匹配过滤字符串:' ${test2#*/} # 返回从左边删除string后的字符串
echo '${var##string},长匹配过滤字符串:' ${test2##*/} # 返回从左边删除string后的字符串
echo '${var%string},短匹配过滤字符串:' ${test2%/*} # 返回从右边删除string后的字符串
echo '${var%%string},长匹配过滤字符串:' ${test2%%/*} # 返回从右边删除string后的字符串
test3="12345678901234567890"
echo "替换test3: " $test3
echo '${var/substring/newstring},替换字符串:' ${test3/0/零} # 返回var中第一个substring被替换成newstring后的字符串
echo '${var//substring/newstring},替换字符串:' ${test3//0/零} # 返回var中所有substring被替换成newstring后的字符串
# ### 特殊的替换
#
# ${var:-string}
# - 若变量var值为空时,string作为${var:-string}的值;
# - 若变量var值不为空时,变量var的值作为${var:-string}的值;
#
# ${var:+string}
# - 当变量var值为空时,变量var的值作为${var:-string}的值;
# - 当变量var值不为空时,string作为${var:-string}的值;
#
# ${var:=string}
# - 若变量var值为空时,string作为${var:-string}的值,并且变量var也被赋值为string;
# - 若变量var值不为空时,变量var的值作为${var:-string}的值;
# - 可用于判断变量是否赋值,如果值为空则指定一个默认值;
#
# ${var:?string}
# - 若变量var为空,则把string输出到标准错误中,并从脚本中退出;
# - 若变量var不为空,变量var的值作为${var:-string}的值;
# - 可用于判断变量是否赋值;
Linux - 简明Shell编程03 - 字符串(String)的更多相关文章
- Linux - 简明Shell编程02 - 变量(Variable)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...
- Shell - 简明Shell入门03 - 字符串(String)
示例脚本及注释 #!/bin/bash str="Shell" str2="Hello $str !" str3="Hello ${str} !&qu ...
- Linux - 简明Shell编程14 - 操作符(Operator)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "No c ...
- Linux - 简明Shell编程01 - 第一个脚本(HelloShell)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...
- Linux - 简明Shell编程04 - 判断语句(If)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- Linux - 简明Shell编程07 - 数组(Array)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash test0=() # 定义数组 ...
- Linux - 简明Shell编程11 - 调用脚本(CallTheScript)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 主脚本: CallTheScript.sh #!/bi ...
- Linux - 简明Shell编程12 - 定制输出(ColorOutput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...
- Linux - 简明Shell编程13 - 用户输入(UserInput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 1 - arguments #!/bin/bash i ...
随机推荐
- maven配置本地仓库(从本地仓库下载jar包到.m2仓库)
Windows-->preference 把你的settings.xml存到一个地方maven指向你的settings.xmlsettings.xml里的地址是你们 ...
- ArcGIS API for JavaScript 4.4学习笔记[新] AJS4.4和AJS3.21新特性
ESRI官网悄无声息突然更新4.4和3.21,公众号也没有什么消息.照例,给大家看看这次更新有什么新特性吧. 1. AJS 4.4 官方更新日志:点我,比较详细.我在这里抽一些主干作为说明. 1.1 ...
- mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程)
写在最前 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生M ...
- 快学Scala之继承
## 1. 继承 Scala语言通过 extends 关键字来继承类. 那么继承一个类有什么好处呢? 子类除了拥有继承自超类的方法和字段(即为val(常量), var(变量)所定义的), 还可 ...
- Vulkan Tutorial 27 combined image sampler
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 我们在教程的uniform 缓冲区中首次了解了描述符.在本 ...
- 无法启动 IIS Express Web 服务器
问题描述:我用的是vs2015,有时候打开自己的项目,点击调试运行,会失败,弹出窗口,告诉我,无法启动 IIS Express Web 服务器,我就纳闷了,刚才还好好,怎么这会就不行了,各种试,都不行 ...
- 了解Java基础原理
Java 是1995年SUN公司推出的一门高级编程语言,是面向互联网的语言,WEB应用程序首选的语言(安卓底层,大数据hadoop框架用java编写,Spark用Scala编写,Scala用java写 ...
- win7下elasticsearch5.0 安装head插件
项目开发用到了ES,5.X版本的,然而网上好多的安装资料都不能用,全是之前的老版本,今天弄了一上午终于完事了,总结一下安装的步骤. 1.安装NodeJs 去官网https://nodejs.org/e ...
- 阿里巴巴2018届应届生在线编程测验-研发工程师C/C++
刚才去做了阿里巴巴的编程测验,好消息是抽到的题相对别的题简单一些,坏消息是编的太慢了,没有做完. 现在把题目和自己后来编出来的代码贴在这里,供大家参考. 题目: 1. 从命令行输入若干个正整数(大于等 ...
- Hybris商品图片导入与压缩有关的配置
1. 在电脑上安装 ImageMagick 软件(windows平台还需要安装VC++),下载路径:http://www.imagemagick.org/script/download.php#w ...