码迷,mamicode.com
首页 > 系统相关 > 详细

Shell使用技巧

时间:2019-07-03 09:16:24      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:单引号   未定义   输出   定义   最长匹配   code   htm   前缀   双引号   

几种特殊的替换结构
1、${var:-string}
2、${var:+string}
3、${var:=string}
4、${var:?string}

总结:
    当var为空或者未定义时:${var:-string}的值为string
    当var不为空时:${var:+string}的值为string
    当var为空或未定义时:${var:=string}重新将string赋值给var
    当var为空或未定义时:${var:?string}则将string输出到stdrr

shell中单引号与双引号的区别:
单引号:告诉shell忽略特殊字符
双引号:解释特殊符号原有的意义

example:
[root@deploy scripts]# a="sss"
[root@deploy scripts]# echo $a
sss
[root@deploy scripts]# echo ‘$a‘
$a
[root@deploy scripts]# echo "$a"
sss

字符串替换
格式:
${parameter/pattern/string}
[root@deploy scripts]# var="hello shell"
[root@deploy scripts]# echo ${var/shell/world}
hello world
字符串截取
格式:
删除匹配前缀
${parameter#word}
${parameter##word}

删除匹配后缀
${parameter%word} 
${parameter%%word}

# 去掉左边,最短匹配模式
## 去掉左边,最长匹配模式
% 去掉右边,最短匹配模式
%% 去掉右边,最长匹配模式

example:
    [root@deploy scripts]# var="http://www.baidu.com/index.html"
    [root@deploy scripts]# echo ${var#*/}
    /www.baidu.com/index.html
    [root@deploy scripts]# echo ${var##*/}
    index.html
    [root@deploy scripts]# echo ${var%/*}
    http://www.baidu.com
    [root@deploy scripts]# echo ${var%%/*}
    http:

Shell使用技巧

标签:单引号   未定义   输出   定义   最长匹配   code   htm   前缀   双引号   

原文地址:https://blog.51cto.com/13777088/2416370

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!