a=$( expr 'helloworld20140501.txt' : '.*\([0-9]\{8\}\).*' )echo $alinux shell 中可以将命令的结果赋值给变量,$(命令)这种格式将返回命令执行后的结果字符串上面命令执行后,变量a的值是20140501 a=`echo 'helloworld20140501.txt'|sed 's/.*\([0-9]\{8\}\).*/\1/'`这个命令作用也是一样,变量a被赋值为20140501