LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 777

不会用[ $a = "[12345]" ]

[复制链接]
 楼主| 发表于 2003-8-2 10:44:49 | 显示全部楼层
真的不行~~~~~~~我又试了多次~~
发表于 2003-8-2 10:51:04 | 显示全部楼层
的确不行
数字的比较要用((.......)),而不是[[.......]]
发表于 2003-8-2 11:04:27 | 显示全部楼层
给你个完整的,你再试试看吧;)
  1. #!/bin/bash
  2. echo -n input a number[1-5]:
  3. read input
  4. if [[ $input = ^[0-9] || ${#input} > 1 ]]
  5. then
  6. echo "too long"
  7. exit 1
  8. fi
  9. if [[ $input >0 && $input <6 ]]
  10. then
  11. echo "number,ok!"
  12. else
  13. echo "wrong"
  14. fi
  15. exit 0
复制代码
有问题把错误提示贴出来
 楼主| 发表于 2003-8-2 12:13:53 | 显示全部楼层
行了  谢谢版主
那个  exit1  exit0 是什么意思?
 楼主| 发表于 2003-8-2 12:40:21 | 显示全部楼层
怎么我在exit 0 后加任何命令都没用?
发表于 2003-8-2 13:28:27 | 显示全部楼层
最初由 777 发表
怎么我在exit 0 后加任何命令都没用?


exit and return a value.
 楼主| 发表于 2003-8-2 13:39:29 | 显示全部楼层
那  exit 1呢?
发表于 2003-8-2 14:00:01 | 显示全部楼层
最初由 777 发表
行了  谢谢版主
那个  exit1  exit0 是什么意思?

在置顶的入门教程中,有关于exit的解释,请仔细阅读之;)
发表于 2003-8-2 19:22:13 | 显示全部楼层
[QUOTE]最初由 javalee 发表
给你个完整的,你再试试看吧;)

  1. #!/bin/bash
  2. echo -n input a number[1-5]:
  3. read input
  4. if [[ $input = ^[0-9] || ${#input} > 1 ]]
  5. then
  6. echo "too long"
  7. exit 1
  8. fi
  9. if [[ $input >0 && $input <6 ]]
  10. then
  11. echo "number,ok!"
  12. else
  13. echo "wrong"
  14. fi
  15. exit 0
复制代码


版主老大:这个程序好象不能对输入10及其以上的数字产生作用吧,如果在禁止输入10及其以上的数值那该如何处理?:help
谢谢:thank
发表于 2003-8-2 19:37:24 | 显示全部楼层
我特意在脚本的前面加了对输入的限制!只能输入1--5的数字,那个${#input}限制了你输入的长度,那个^[0-9]限制了你输入的字符不能是字符,...
当然,这是个例子,你输入10以上数字的话,会提示:too long!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表