猿问

有没有人遇到过这个问题哈!if else 语句嵌套使用报错求大佬指点!

用shell脚本执行了如下语句:
#!/bin/bash
read-p"pleaseinputyourname:"-t10name
read-p"pleaseinputyournumber:"-t10number
read-p"pleaseinlutyourpasswd:"-t10passwd
if[!-z"$name"-a!-z"$number"-a!-z"$passwd"]
then
y=$(echo$number|sed's/[0-9]//g')
if[-z"$y"]
then
for((i=1;i<=$number;i=i+1))
do
/usr/sbin/useradd$name$i&>/dev/null
echo$passwd|/usr/bin/passwd--stdin$name$1&>/dev/null
done
else
echo"Error!"
exit2
fi
else
echo"Error!!"
exit1
fi
想实现的效果:第一个ifelse语句;如果$name$number$passwd中有一个为空,则提示:Error!并退出;如果都不为空则执行y=$(echo$number|sed's/[0-9]//g')。第二个ifelse语句:如果$y为空,则执行:for循环语句;如果不为空则提示:Error!并退出。但是输入$name$number$passwd为空之后,报错了,信息如下:
root@ubuntu:/home/baochunfen#bashfor04.sh
pleaseinputyourname:
pleaseinputyournumber:
pleaseinlutyourpasswd:
for04.sh:line10:((:i<=:syntaxerror:operandexpected(errortokenis"<=")
恳请解答,谢谢各位大佬了
富国沪深
浏览 568回答 2
2回答

阿晨1998

5.0.2测试没问题bash版本多少?z"$name"-a!-z"$number"-a!-z"$passwd你是不是这么写的?如果是的,那就这个错了,注意分割符号if[!-z"$name"-a!-z"$number"-a!-z"$passwd"]我一直以为是粘贴错误(¨̮)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答