示例脚本及注释


#!/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)的更多相关文章

  1. Linux - 简明Shell编程02 - 变量(Variable)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...

  2. Shell - 简明Shell入门03 - 字符串(String)

    示例脚本及注释 #!/bin/bash str="Shell" str2="Hello $str !" str3="Hello ${str} !&qu ...

  3. Linux - 简明Shell编程14 - 操作符(Operator)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "No c ...

  4. Linux - 简明Shell编程01 - 第一个脚本(HelloShell)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...

  5. Linux - 简明Shell编程04 - 判断语句(If)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...

  6. Linux - 简明Shell编程07 - 数组(Array)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash test0=() # 定义数组 ...

  7. Linux - 简明Shell编程11 - 调用脚本(CallTheScript)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 主脚本: CallTheScript.sh #!/bi ...

  8. Linux - 简明Shell编程12 - 定制输出(ColorOutput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...

  9. Linux - 简明Shell编程13 - 用户输入(UserInput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 1 - arguments #!/bin/bash i ...

随机推荐

  1. 第二章(jQuery选择器)

    2.1jQuery选择器是什么 1.CSS选择器 选择器 示例 选择器 示例 标签选择器 a{ } p{ } ul{ } ID选择器 #ID{ } 类选择器 .class{ } 群组选择器 td,p, ...

  2. H5学习第二周

    怎么说,在各种感觉中h5学习的第二周已经过来了,先总结一下,感觉学习h5是一件让我爱恨交加的事,学会一些新的知识并把它成功运行出来的时候是非常激动和兴奋的,但是有时候搞不懂一个标签或者属性的时候,就有 ...

  3. Openfire开发广播服务接口,支持离线广播消息

    Openfire开发广播服务接口,支持离线广播消息 概要 最近公司要求做一个web端向所有移动端发送公告,所以考虑到即时性就用openfire做服务.不过为了减轻web端的工作量,我们开发一个简单的插 ...

  4. Ext秒表

    Ext秒表 显示分和秒 js Ext.define('xy.StopWatchWindow', { extend: 'Ext.window.Window', width: 300, modal: tr ...

  5. Unity 游戏框架搭建 (一) 概述

      为了重构手头的一款项目,翻出来当时未接触Unity时候收藏的视频<Unity项目架构设计与开发管理>,对于我这种初学者来说全是干货.简单的总结了一下,以后慢慢提炼. 关于Unity的架 ...

  6. 【转】Header Only Library的介绍

    什么是Header Only Library Header Only Library把一个库的内容完全写在头文件中,不带任何cpp文件. 这是一个巧合,决不是C++的原始设计. 第一次这么做估计是ST ...

  7. JavaWeb 后端 <六> 之 EL & JSTL 学习笔记

    一.EL表达式(特别重要)

  8. 18-EasyNetQ:发生错误的情况

    这一篇文章让我们看看在消息系统中可能发生的各种错误的情况下,看下EasyNetQ如何处理它们. 订阅服务挂了 当你写了一个windows 服务,用来订阅一个NewCustomerMessage消息. ...

  9. .net 爬虫框架技术选型

    个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. ...

  10. 51nod_1122:机器人走方格 V4 (矩阵快速幂)

    题目链接 昨天上随机信号分析讲马氏链的时候突然想到这题的解法,今天写一下 定义矩阵A,Ans=A^n,令A[i][j]表示,经过1次变换后,第i个位置上的机器人位于第j个位置的情况数,则Ans[i][ ...