1,shell变量的替换

变量可以根据变量是否为空或者被删除,而被替换为特定的值

${var}  变量本来的值

$(var:-word)   如果变量为空,或者已被删除那么返回word,但是不改变var的值

name="xiaoming"

echo "xiaoming 's age is ${age:-12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming 's age is 12

age =

>>>>>>>

$(var:=word)   如果变量为空,或者已被删除那么返回word,改变var的值

name="xiaoming"

age=11

echo "xiaoming 's age is ${age:+12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming 's age is 12

age = 12

>>>>>>

$(var:?word)   如果变量为空,或者已被删除那么返回word,那么将message送到标准错误输出

name="xiaoming"

echo "xiaoming 's age is ${age:-12}"

ech   "age = ${age}"

>>>>>>>>

./hello.sh: 行 8: age: 12

>>>>>>>

$(var:+word)   如果var被定义,那么返回word,但是不改变var的值

举例

name="xiaoming"

age=11

echo "xiaoming 's age is ${age:=12}"

ech   "age = ${age}"

>>>>>>>>

xiaoming 's age is 12

age = 11

>>>>>>>

2,命令替换是指shell可以先执行命令保存,然后在适当的地方输出

lll=`ls`  注意这里是反引号,不是单引号
echo ${lll}

3,转义字符

\\    反斜杠

\a   警报 响铃

\b   退格(删除键)

\f   换页

\n   换行

\r   回车

\t   水平制表符

\w   垂直制表符

shell变量的替换,命令的替换,转义字符的更多相关文章

  1. shell 变量相关的命令

    变量="变量" readonly 变量名="变量"  表示设置该变量为只读变量 ,这个变量不能别改变 echo $变量名 set  显示本地所有的变量 unse ...

  2. shell变量及相关命令

  3. Shell变量概述

    目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...

  4. Linux Shell系列教程之(三)Shell变量

    本文是Linux Shell系列教程的第(三)篇,更多shell教程请看:Linux Shell系列教程 Shell作为一种高级的脚本类语言,也是支持自定义变量的.今天就为大家介绍下Shell中的变量 ...

  5. 【Shell脚本学习9】Shell替换:Shell变量替换,命令替换,转义字符

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value ...

  6. Shell变量替换,命令替换,转义字符

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value ...

  7. Shell替换:Shell变量替换,命令替换,转义字符

    如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: 复制纯文本复制 #!/bin/bash a=10 echo -e &quo ...

  8. shell变量的替换

    1 shell变量基础shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr. ...

  9. Shell变量的取用、删除、取代与替换

    <<鸟哥的私房菜>> 注意: 通配符适用的地方:shell命令行或者shell脚本中 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 在文本过滤工具里,都是 ...

随机推荐

  1. 【操作教程】SequoiaDB分布式存储教程

    1.各模式适用场景介绍 由于SequoiaDB对比其他的NoSQL有更多的方式将数据分布到多台服务器上,所以下面笔者为阅读者一一介绍每种分布式方式适合于哪种场景. 1.1 Hash 方式分布数据 在H ...

  2. web拖动条显示

    <!DOCTYPE html"> <html> <head> <title>滚动条拖动评分的JS效果</title> <st ...

  3. .net 实现aop的三种方法。

    动态代理 透明代理 编译时注入

  4. Perl根据日期分割数据文件

    Perl的优势:比C好写,比Shell高效,Linux普遍支持. #!/usr/bin/perl -w # auth: lichmama@cnblogs.com # what: split data_ ...

  5. 【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  6. 自定义七天签到View

    github传送车走你 https://github.com/guanhaoran/signin 因为这个View 是我很早之前写的,这些注释也是我今天刚想往github上传的时候 临时加的  有的注 ...

  7. java基础02 数据类型转

    一.回答问题 float f1 = 6.66f; float f2 = (float) 6.67; f1==f2? /** * * @author sun * */ public class Demo ...

  8. 我眼中的ASP.NET Core之微服务 (二)

    前言 接上一篇. 上一篇未完待续的原因是当时刚好是6-30号晚上马上12点了还没写完,然后我想赶在7月1号之前发出去,所以当时就发了.然后在发的时候出了一点问题,结果发出去的时候刚好是 7.1号 00 ...

  9. IDEA的热部署插件jrebel6.4.3离线安装版配置与破解

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...

  10. Ambari安装之Ambari安装前准备(CentOS6.5)(一)

    优秀博客 <Ambari--大数据平台的搭建利器> Ambari安装前准备 (一)机器准备 192.168.80.144   ambari01 (部署Ambari-server和Mirro ...