当前位置: 技术问答>linux和unix
我快要被SHELL这个东西折腾死了.
来源: 互联网 发布时间:2015-01-23
本文导语: 请看SHELL1: aaa=`expr $1|cut -c 5` table_name="tb_"$aaa echo $table_name 这样SHELL1输出正常; 请看SHELL2: read month th=`echo $month|cut -c 5` if [ $th = 0 ] then aaa=`echo $month|cut -c 6` else aaa=`echo $month|cut -c 5-6` fi table_name="tb_"$aaa echo $ta...
请看SHELL1:
aaa=`expr $1|cut -c 5`
table_name="tb_"$aaa
echo $table_name
这样SHELL1输出正常;
请看SHELL2:
read month
th=`echo $month|cut -c 5`
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name
这样SHELL也输出正常.
再看SHELL3:
th=`expr $1|cut -c 5`
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name
这样就输出不正常。实在找不到问题原因!
aaa=`expr $1|cut -c 5`
table_name="tb_"$aaa
echo $table_name
这样SHELL1输出正常;
请看SHELL2:
read month
th=`echo $month|cut -c 5`
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name
这样SHELL也输出正常.
再看SHELL3:
th=`expr $1|cut -c 5`
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name
这样就输出不正常。实在找不到问题原因!
|
楼主,你month 没有值呀。
aaa=`echo $month|cut -c 6`
你将$month的第6个字符取出,但它本来就没有值。
先赋值。
th=`expr $1|cut -c 5`
month=$1 ####这里先赋值
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name
aaa=`echo $month|cut -c 6`
你将$month的第6个字符取出,但它本来就没有值。
先赋值。
th=`expr $1|cut -c 5`
month=$1 ####这里先赋值
if [ $th = 0 ]
then
aaa=`echo $month|cut -c 6`
else
aaa=`echo $month|cut -c 5-6`
fi
table_name="tb_"$aaa
echo $table_name