示例脚本及注释


#!/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}的值;
# - 可用于判断变量是否赋值;

Shell - 简明Shell入门03 - 字符串(String)的更多相关文章

  1. Shell - 简明Shell入门

    本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...

  2. Shell - 简明Shell入门01 - 第一个脚本(HelloShell)

    示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: & ...

  3. Shell - 简明Shell编程

    本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...

  4. Shell - 简明Shell入门14 - 操作符(Operator)

    示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表 ...

  5. Shell - 简明Shell入门13 - 用户输入(UserInput)

    示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...

  6. Shell - 简明Shell入门11 - 调用脚本(CallTheScript)

    示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; ...

  7. Shell - 简明Shell入门07 - 数组(Array)

    示例脚本及注释 #!/bin/bash test0=() # 定义数组 test1=(a b c d e f) # 定义数组 test2=( # 定义数组 'A?' "BB!" C ...

  8. Shell - 简明Shell入门04 - 判断语句(If)

    示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var if test $var # test - check file types and compare va ...

  9. Shell - 简明Shell入门02 - 变量(Variable)

    示例脚本及注释 #!/bin/bash v1=test-variable_123 # 全局变量 v2=12345 v3='This is a test!' # 赋值语句使用单引号或双引号可以包含空格 ...

随机推荐

  1. Java课堂测试01及感想

    上周进行了Java的开学第一次测验,按要求做一个模拟ATM机功能的程序,实现存取款.转账汇款.修改密码.查询余额的操作.这次测验和假期的试题最大的不同还是把数组存储改成的文件存储,在听到老师说要用文件 ...

  2. 社区发现(Community Detection)算法(转)

    作者: peghoty 出处: http://blog.csdn.net/peghoty/article/details/9286905 社区发现(Community Detection)算法用来发现 ...

  3. 学以致用十七-----shell脚本之比较数字和字符串及if else

    非常需要注意的是shell脚本对空格要求非常严格, 如: 比较字符串   (不能用于比较字符串) 以上这种写法会报错 因此比较字符串不用 单中括号 [ ] -----------------有误 而是 ...

  4. 【慕课网实战】Spark Streaming实时流处理项目实战笔记十二之铭文升级版

    铭文一级: ======Pull方式整合 Flume Agent的编写: flume_pull_streaming.conf simple-agent.sources = netcat-sources ...

  5. GDAL读写矢量文件——Python

    在Python中使用OGR时,先要导入OGR库,如果需要对中文的支持,还需要导入GDAL库,具体代码如下.Python创建的shp结果如图1所示. 图1 Python创建矢量结果 #-*- codin ...

  6. DataGuard 配置须知

    风不停,绿树荫,阳光晃眼,天真蓝,我们在奔跑,沿着斜阳,是你喘息,起伏不停...  ——朴树 1.确认primary库处于归档模式 命令:archive log list; 如果没有启用归档,请先将数 ...

  7. (最长上升子序列 并记录过程)FatMouse's Speed -- hdu -- 1160

    http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS (Java/Other ...

  8. POJ1195--Mobile phones(基础二维BIT)

    Description Suppose that the fourth generation mobile phone base stations in the Tampere area operat ...

  9. POJ1064--Cable master(Binary Search)

    Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The J ...

  10. ETL化的IOTA架构

    经过这么多年的发展,已经从大数据1.0的BI/Datawarehouse时代,经过大数据2.0的Web/APP过渡,进入到了IOT的大数据3.0时代,而随之而来的是数据架构的变化. ▌Lambda架构 ...