shell脚本变量执行

来源:互联网 发布:mmd怎么保存动作数据 编辑:程序博客网 时间:2024/06/14 05:02
命令行下执行如下语句没有问题awk -F ' ' '{print $1}' ./tmp

写一个shell脚本执行如下语句没有问题

#!/bin/shINFO=`awk -F ' ' '{print $1}' ./tmp`echo $INFO

但是如果想将$1中的1从1到10来执行按如下脚本却无法执行

#!/bin/shNUM="3"INFO=`awk -F ' ' '{print $$NUM}' ./tmp`echo $INFO

改成如下方式即可

#!/bin/shNUM="3"#INFO=`awk -F ' ' '{print $"$NUM"}' ./tmp`INFO=`awk -F ' ' '{print $'$NUM'}' ./tmp`echo $INFO

事例如下获取linux的flash分区的大小(m)

#!/bin/shMTDS=`cat /proc/mtd | awk '{print $2}'`BLOCKS=`cat /proc/mtd | awk '{print $4}'`echo $BLOCKS>./tmp#i=3#INFO=`printf "awk -F ' ' '{printf $%d}' ./tmp\n" $i`#INFOS=`$INFO`#echo $INFOSi=0for mtd in ${MTDS};do#echo ${mtd}if [ ${mtd} != 'size' ];thensize='0x'${mtd}#echo $sizeNUM=`expr $i + 2`size=`printf "%d\n" $size`size=`expr $size / 1024 / 1024`DEV_INFO=`awk -F ' ' '{print $'$NUM'}' ./tmp`printf "%2d:%-15s\t%dM\n" $i $DEV_INFO $sizei=`expr $i + 1`fidone



原创粉丝点击