shell 脚本学习

'expr'支持模式匹配和字符串操作。字符串表达式的优先级高于数值表达式和逻辑关系表达式。
 
'STRING : REGEX'
     执行模式匹配。两端参数会转换为字符格式,且第二个参数被视为正则表达式(GNU基本正则),它默认会隐含前缀"^"。随后将第一个参数和正则模式做匹配。
 
     如果匹配成功,且REGEX使用了'\(''\)',则此表达式返回匹配到的,如果未使用'\('和'\)',则返回匹配的字符数。
 
     如果匹配失败,如果REGEX中使用了'\(''\)',则此表达式返回空字符串,否则返回为0。
 
     只有第一个'\(...\)'会引用返回的值;其余的'\(...\)'只在正则表达式分组时有意义。
 
     在正则表达式中,'\+''\?''\|'分表代表匹配一个或多个,0个或1个以及两端任选其一的意思。

'match STRING REGEX'
     等价于'STRING : REGEX''substr STRING POSITION LENGTH'
     返回STRING字符串中从POSITION开始,长度最大为LENGTH的子串。如果POSITION或LENGTH为负数,0或非数值,则返回空字符串。
 
'index STRING CHARSET'
     CHARSET中任意单个字符在STRING中最前面的字符位置。如果在STRING中完全不存在CHARSET中的字符,则返回0。见后文示例。
    
'length STRING'

返回STRING的字符长度。

string="runoob is a great company"
echo `expr index "$string" is`   输出8

 
 

type 的使用https://blog.csdn.net/hudashi/article/details/7066190

linux重定向的讲解 : https://blog.csdn.net/jackyechina/article/details/54582146  

>&2  即 1>&2 也就是把结果输出到和标准错误一样;

logger讲解 :https://www.cnblogs.com/xingmuxin/p/8656498.html

basename 是去除目录后剩下的名字
example:shell>temp=/home/temp/1.test
         shell>base=`basename $temp`
         shell>echo $base
结果为:1.test
dirname 是取目录
example:shell>temp=/home/temp/1.test
         shell>dir=`dirname $temp`
         shell>echo $dir
结果为:/home/temp


猜你喜欢

转载自blog.csdn.net/XiAoma123_1/article/details/80815207
今日推荐