bash shell 常用技巧总结1


字符匹配


${#string} 返回$string的长度

${string:position}在string中,从位置$position之后开始提取字符串

${string:position:length}在string中,从位置$position之后开始提取长度为$length的子串

${string##} 从开头开始删除

${string%substring}从结尾开始删除


${string/SUBSTRING/REPLAC} 替换$replac第一个匹配替换$substring

${string/%SUBSTRING/REPLAC} 从结尾开始替换$replac第一个匹配替换$substring

${string/#SUBSTRING/REPLAC} 从开头开始替换$replac第一个匹配替换$substring


WD="I am a boy"


echo ${#WD} 打印字符串长度

echo ${WD:2} 返回除了第一个字符之后的

echo ${WD}|wc -m 也可以打印字符长度

echo ${WD:0:3} 从第0个开始取,取三个

echo ${WD}|cut -c 1-5 取1-5

echo ${WD#I} 从开头删除最短字符I

echo ${WD##I}从开头删除最长字符I

echo ${WD/I am/You are} 第一个匹配替换

echo ${WD/#} 从开头匹配

echo ${WD/%} 从结尾匹配


rename




定义变量


1.

${value:-WORD} 检测空变量的问题,如果$string没有定义,则打印出来position

result=${value:-WORD}


t=${CRON_VALUE:-UNSET}

[ "$t" != "UNSET"] && export CRON_VALUE="$t"


find ${path:=/tmp/} -name *.tar.gz -type -f |xargs rm -rf


2.

${value:=WORD} 如果变量没有定义,则将值赋予变量。

3.

${value:?"message"} 如果变量名存在且非null,则返回变量的值。否则显示变量名:message

4.

${value:+word} 如果变量名存在且非null,则返回word,否则返回null 用于检测变量是否定义

5.

${value-word} 如果变量不存在用word替代 vsftpd 下面有用到


你可能感兴趣的:(字符串,技巧,position)