为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

富国沪深 2019-10-10 16:07:51
用shell脚本执行了如下语句:#!/bin/bashread-p"pleaseinputyourname:"-t10nameread-p"pleaseinputyournumber:"-t10numberread-p"pleaseinlutyourpasswd:"-t10passwdif[!-z"$name"-a!-z"$number"-a!-z"$passwd"]theny=$(echo$number|sed's/[0-9]//g')if[-z"$y"]thenfor((i=1;i/dev/nullecho$passwd|/usr/bin/passwd--stdin$name$1&>/dev/nulldoneelseecho"Error!"exit2fielseecho"Error!!"exit1fi想实现的效果:第一个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.shpleaseinputyourname:pleaseinputyournumber:pleaseinlutyourpasswd:for04.sh:line10:((:i
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

5.0.2测试没问题
bash版本多少?
z"$name"-a!-z"$number"-a!-z"$passwd
你是不是这么写的?如果是的,那就这个错了,注意分割符号if[!-z"$name"-a!-z"$number"-a!-z"$passwd"]
我一直以为是粘贴错误(¨̮)
                            
查看完整回答
反对 回复 2019-10-10
  • 2 回答
  • 0 关注
  • 567 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信