当前位置:  技术问答>linux和unix

shell脚本中的一个错误

    来源: 互联网  发布时间:2016-10-12

    本文导语:  请问各位: 我在linux写了一个shell脚本: #!/bin/bash  echo "Hit a key, then hit return." read Keypress  case "$Keypress" in [A-Z] ) echo "Uppercase letter";; [a-z] ) echo "Lowercase letter";; [0-9] ) echo "Digit";; * ) echo "Punctuation, whit...

请问各位:
我在linux写了一个shell脚本:
#!/bin/bash 
echo "Hit a key, then hit return."
read Keypress 
case "$Keypress" in
[A-Z] ) echo "Uppercase letter";;
[a-z] ) echo "Lowercase letter";;
[0-9] ) echo "Digit";;
* ) echo "Punctuation, whitespace, or other";;
esac 

在运行的时候
输入A-Z,a-y这里面的任何一个字符的时候尽然打印的都是Uppercase letter,
只有z时才是Lowercase letter,请问各位错在哪里,谢谢

|

你是什么linux。
另外 你的代码和你发的这个一致吗 我怀疑你自己的代码里是不是有不可见字符 中文字符啥的

你重新写个shell 照着你帖子里的这个代码写 或者直接复制 然后再试试?

|
我复制你的代码 测试了一下 一点问题也没有

$ cat ./esac.sh
#!/bin/bash
echo "Hit a key, then hit return."
read Keypress
case "$Keypress" in
[A-Z] ) echo "Uppercase letter";;
[a-z] ) echo "Lowercase letter";;
[0-9] ) echo "Digit";;
* ) echo "Punctuation, whitespace, or other";;
esac

$ ./esac.sh
Hit a key, then hit return.
e
Lowercase letter

$ ./esac.sh
Hit a key, then hit return.
H
Uppercase letter

$ ./esac.sh
Hit a key, then hit return.
a
Lowercase letter

$ ./esac.sh
Hit a key, then hit return.
9
Digit

$ ./esac.sh
Hit a key, then hit return.
$
Punctuation, whitespace, or other


|
我试了下,不管输啥都是Uppercase letter


administrator@ubuntu:~$ ./test
Hit a key, then hit return.
z
Uppercase letter
administrator@ubuntu:~$ ./test
Hit a key, then hit return.
z
Uppercase letter
administrator@ubuntu:~$ ./test
Hit a key, then hit return.
L
Uppercase letter
administrator@ubuntu:~$ 




|
问题解决,修改源吗如下

 #!/bin/bash 
  2 echo "Hit a key, then hit return."
  3 read Keypress
  4 case "$Keypress" in
  5 ['A'-'Z'] ) echo "Uppercase letter";;
  6 ['a'-'z'] ) echo "Lowercase letter";;
  7 ['0'-'9'] ) echo "Digit";;
  8 * ) echo "Punctuation, whitespace, or other";;
  9 esac  


前面的数字是行号,注意不要输上

|
我试了lz最初的代码,也是没问题的..

|
发贴不结贴的家伙

|
bash --version
是不是版本的问题

    
 
 

您可能感兴趣的文章:

  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • shell脚本问题 关于父脚本和子脚本的问题
  • shell脚本错误输出
  • 请教shell脚本启动程序
  • 关于shell脚本的。
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • 高分请教关于Shell脚本执行中断问题?
  • linux shell脚本
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • shell如何获取oracle错误码 在线等
  • shell脚本运行错误
  • 请教关于两个最基础的SHELLE编程的错误,有程序,在线等
  • shell语法错误,帮忙看一下
  • 小小shell脚本错误,帮忙修改!
  • shell脚本挑错,请问都哪里错误了?谢谢。
  • 运行shell脚本时发生的错误,no interpreter
  • shell 的一个错误
  • shell文件中第一行为#!/bin/bash ,运行后提示“:bad interpreter 没有那个文件或目录”是什么错误?怎么修改?
  • shell的crontab定时执行错误
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请问什么是shell编程?一般都用shell编程实现什么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3