shell中的替换
shell中如果存在一些特殊的字符,就需要进行替换,可进行命令替换、变量替换、转义替换
1、转义字符的替换
shell中包含以下的转移字符
\a 响铃警报\\ 反斜杠
\b 退格(删除键)
\f 换页(FF),将当前位置移到下页开头
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
以上转移字符都可以使用在echo中,通过使用-e 完成转义字符的替换,否者会原样输出,也可通过-E 禁止转移,通过-n可以禁止插入换行符
2、命令替换
如下声明将命令date赋值给DATE,注意这里的命令必须通过反括号扩住,而不是单引号
kk@kk-pc ~/shell
$ DATE=`date` kk@kk-pc ~/shell
$ echo $DATE
2015年07月 6日, 周一 ::
3、变量替换
变量替换时根据是否为空,是否定义进行的,并可以改变变量的值
变量的替换形式:
| 形式 | 说明 |
| ${var} | 变量本来的值 |
| ${var:-word} | 如果变量var为空或者已被删除(unset),那么返回word,但不会改变var的值 |
| ${var:=word} | 如果变量var为空或者已被删除(unset),那么返回word,同时将var的值设置为word |
| ${var:?message} | 如果变量var为空或者已被删除(unset),那么将消息message送到标准错误输出,可以用来检测变量var是否可以被正常赋值。若此替换出现在shell脚本中,那么脚本将停止运行 |
| ${var:+word} | 如果变量var被定义,那么返回word,但不改变var的值 |
后记:无
shell中的替换的更多相关文章
- 【linux】shell中命令替换$(cmd)和符号`cmd`
来源:https://zhidao.baidu.com/question/485498670.html 作用: $(cmd)和`cmd`的作用是相同的,在执行一条命令时,会先将其中的 ``,或者是$( ...
- 关于Shell中命令替换$(...)与后置引用`...`的不同
命令替换 在bash中,$( )与` `(反引号)都是用来作命令替换的.命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行. $( )与`` ...
- 在shell中使用sed命令替换/为\/
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/D ...
- linux shell 中的数组的取值 遍历 替换 删除操作
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- awk中引用shell变量执行替换的脚本
遇到问题: 现在有两个脚本,我想 将file1中的内容按file2来匹配 [root@154 home]# cat file1 3-1-1 POTV=1,POTA=0,POTP=2 1-4-76 PO ...
- shell中{}的妙用
shell中${}的妙用 1. 截断功能 ${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}: 拿 ...
- 任督二脉之Shell中的正则表达式
VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyz ...
- shell中读写mysql数据库
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...
- shell中的大括号和小括号
1.shell中的大括号和小括号 1.${var} 2.$(cmd) 3.() 和 {} 4.${var:-string}, ${var:+string}, ${var:=string}, ...
随机推荐
- nginx 2.基本配置
死磕nginx 2.基本配置 鉴于深入浅出的原理,我们先从一个简单的配置了解nginx的配置 1.一个典型配置 nginx的配置文件默认在nginx安装目录的conf二级目录下面,主配置文件为 ngi ...
- sql 删除多项
delete from 表名 where 字段 in(值,值,值.......)
- .net 中序列化和反序列化的使用
序列化的目的:将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 序列化 序列化分为JSON 序列化,XML序列化,二 ...
- 一个控制台贪吃蛇小游戏(wsad控制移动)
/******************************************** * 程序名称:MR.DUAN 的贪吃蛇游戏(链表法) * 作 者:WindAutumn <flutti ...
- PHP E-mail
PHP E-mail 注入 首先,请看上一章中的 PHP 代码: <html><body> <?phpif (isset($_REQUEST['email']))//if ...
- String 类 Copy-On-Write 技术以及使用时存在的风险
先来看一下string 面试时的简易写法(使用的是深拷贝): class String { String() :str(]) { str[] = '\0'; } String(char* p, siz ...
- javascript模块
//使用模块 template = {}; template.createObj = (function(){ //私有成员 var _age = ""; var _name = ...
- cocos2d-x 工程目录结构说明
下载最新的cocos2d-x,解压完之后呈现出如下的目录结构: cocos2dx:框架核心目录,里面是存放了2dx引擎的核心代码. CocosDenshion:各个平台的音效实现. document: ...
- Memcached使用手册
memcached简介 1.memcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果 ...
- 获取元素位置信息:getBoundingClientRect
一个神奇的方法. 一.历史 偷个懒,上个传送门:http://www.cnblogs.com/2050/archive/2012/02/01/2335211.html 二.介绍 DOM元素方法,返回一 ...