linux shell字符串内置的常用操作介绍

介绍

本篇内容介绍了“linux shell字符串内置的常用操作介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在编写壳程序时,经常会涉及到字符串相关操作。有许多命令语句,如awk, sed都能够做字符串各种操作。事实上壳内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快。如果内置的操作符能够做到的,优先使用内置的。

<强> 1读取字符串值

<强>表达式 <强>含义 $ {var}变量var本来的值$ {var-default} var没声明返回违约,但不改变var的值$ {var:默认}var没声明或其值为空返回违约,但不改变var的值$ {var=默认}var没有声明返回违约,并将变量的值设置为默认<强> $ {var:=违约} var没声明或其值为空返回违约,并将变量的值设置为默认$ {var +其他}var被声明返回,但不改变var的值$ {var: +其他}var被声明且不为空返回,但不改变var的值$ {var ? err_msg} var没有被声明,将消息err_msg送到标准错误输出$ {var: ? err_msg} var没声明或者为空,将消息err_msg送到标准错误输出$ {! varprefix *}匹配之前全部以varprefix开头进行声明的变量$ {!varprefix@}匹配之前全部以varprefix开头进行声明的变量

<强> 2字符串操作

<强>表达式 <强>含义 ${#字符串}字符串的长度${字符串:位置}在字符串中,从位置位置开始提取子串${字符串:位置:长度}在字符串中,从位置位置开始提取长度为美元长度的子串${字符串#子串}从变量字符串的开的头,删除最短匹配子字符串的子串${字符串# #子串}从变量字符串的开的头,删除最长匹配子字符串的子串${字符串% substring}从变量绳子的结尾,删除最短匹配子字符串的子串${字符串% % substring}从变量绳子的结尾,删除最长匹配子字符串的子串${/子字符串替换字符串}使用替换,来取代第一个匹配的子字符串${字符串//子串替换}使用替换,取代全部匹配的子字符串${/#子字符串替换字符串}假设字符串的前缀匹配的子串,那么就用替代品来取代匹配到的子字符串${字符串/%子串替换}假设字符串的后缀匹配的子串,那么就用替代品来取代匹配到的substring  <强>说明:“子串”可以为正则表达式

linux shell字符串内置的常用操作介绍