1.在shell脚本中,如何取得一个变量中的字符个数:

  ${#parameter}

2.取得一个路径中的目录名称

   假设:FILEPATH=/usr/local/src

${parameter#*word}

${parameter##*word}

${parameter%word*}

${parameter%%word*} //word用于指定分隔符(取文件名或目录时一般此处为/),#表示从左到右,%表示从右到左,#表示从左到右第一个分隔符之前的内容去掉,##表示从左到右最后一个分隔符之前的内容去掉,%类似

   取文件名:echo ${FILENAME##*/}

   取目录:echo ${FILENAME%%/*}

3.给变量默认值

  当变量因某些原因赋值失败时给变量默认值

${parameter:-word} //word就是默认值

   A=${A:-30} // 就是如果变量A不为空或未定义,就使用其值,否则,就赋给其默认值30

${parameter:+word}  //当变量不为空或未定义的时候展开为word的值,否则就展开为空

${parameter:?word}

${parameter:=word}

4.从变量中取偏移量

   假如FILE=/usr/local/src

${parameter:offset}

${parameter:offset:length} //offset就是制定从左到右偏移的字符个数,length表示显示的字符个数,省略为全显示

  echo ${FILE:4:6}的输出结果为/local

  echo ${FILE:11}的输出结果是src

5.创建临时文件

   mktemp [-d] filename.XXX

shell脚本中相关技巧_变量特殊展开

VARIABLE=`mktemp filename.XXX` //通过赋值结果给变量给以实现方便引用,也可以避免临时文件重名

 -d选项为创建临时目录文件