我正在使用tcsh shell学习一些shell脚本。 我的程序应计算2个第一个参数范围的乘法表。如果第一个arg大于秒,它应该从大到小打印。但是如果我给他的第一个arg大于第二个,那么他的工作正确。但是,虽然我给他的第一个arg更小,但我有:" d:未定义的变量"错误。
if ( $argv[1] > $argv[2] ) then
while ($argv[1] >= $argv[2])
foreach y ( 1 2 3 4 5 6 7 8 9 )
@ d = ( $argv[1] * $y )
if ( $d < 10 )then
echo -n " $d "
else
echo -n "$d "
endif
end
echo "\n"
@ argv[1] -= 1
end
exit 0
else
while ($argv[1] <= $argv[2])
foreach y ( 1 2 3 4 5 6 7 8 9 )
@ c = ( $argv[1] * $y )
if ( $c < 10 )then
echo -n " $c "
else
echo -n "$c "
endif
end
echo "\n"
@ argv[1] += 1
end
exit 0
endif
如果我切换if和else(第一个将负责arg1小于arg2)它适用于小于arg2的arg1,但与#34; c:未定义变量&#34;相反的情况不适用错误。
你能告诉我我错过了什么吗?答案 0 :(得分:0)
尝试通过set命令声明变量
set var = value ;