我快要被SHELL这个东西折腾死了.

请看SHELL1:
aaa=expr $1 &brvbarcut -c 5
table_name="tb_"$aaa
echo $table_name
这样SHELL1输出正常;
请看SHELL2:
read month
th=echo $month &brvbarcut -c 5
if [ $th = 0 ]
then
aaa=echo $month &brvbarcut -c 6
else
aaa=echo $month &brvbarcut -c 5-6
fi
table_name="tb_"$aaa
echo $table_name
这样SHELL也输出正常.
再看SHELL3:
th=expr $1 &brvbarcut -c 5
if [ $th = 0 ]
then
aaa=echo $month &brvbarcut -c 6
else
aaa=echo $month &brvbarcut -c 5-6
fi
table_name="tb_"$aaa
echo $table_name
这样就输出不正常。实在找不到问题原因!

---------------------------------------------------------------

楼主,你month 没有值呀。
aaa=echo $month &brvbarcut -c 6
你将$month的第6个字符取出,但它本来就没有值。
先赋值。

th=expr $1 &brvbarcut -c 5
month=$1 ####这里先赋值
if [ $th = 0 ]
then
aaa=echo $month &brvbarcut -c 6
else
aaa=echo $month &brvbarcut -c 5-6
fi
table_name="tb_"$aaa
echo $table_name

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus