QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1114|回复: 2

小菜问菜问题了..希望各位帮忙回答

[复制链接]
发表于 2006-2-24 02:18:22 | 显示全部楼层 |阅读模式
刚学shell编程 问些菜问题
1. 如何判断输入是3位数字(就是控制输入只能是3位数字)
2. 如何判断输入格式是前3位是数字第4位是-后4位还是数字
3.如何判断输入只包含空格或者字母
4.如何使当输出写入文件成功后显示"输入成功",而写入不成功时不显示"输入成功"

   希望大家不吝赐教 先谢过... :D
发表于 2006-2-24 09:11:28 | 显示全部楼层

Re: 小菜问菜问题了..希望各位帮忙回答

[quote:558c72db68="kkstar"]刚学shell编程 问些菜问题
1. 如何判断输入是3位数字(就是控制输入只能是3位数字)
[/quote]
正则表达式里表示“3位数字”:
[code:1]'[0-9][0-9][0-9]'[/code:1]
代码测试:
[code:1]
#!/usr/bin/env bash

read first

echo $first |grep '[0-9][0-9][0-9]' >/dev/null
echo $?
[/code:1]
2. 如何判断输入格式是前3位是数字第4位是-后4位还是数字

[code:1]
#!/usr/bin/env bash

read num

echo $num | awk -F'-' '{print $1}' |grep '[0-9][0-9][0-9]' >/dev/null
field_1="$?"

echo $num | awk -F'-' '{print $2}' |grep '[0-9][0-9][0-9][0-9]' >/dev/null
field_2="$?"

if [ X"${field_1}" == X"0" -a X"${field_2}" == X"0" ]
then
        echo right
else
        echo wrong
fi
[/code:1]

3.如何判断输入只包含空格或者字母

[code:1]
[/code:1]

4.如何使当输出写入文件成功后显示"输入成功",而写入不成功时不显示"输入成功"

判断exit status($?变量),然后做一个if语句就行了。参考1,2.
回复

使用道具 举报

 楼主| 发表于 2006-2-24 11:35:56 | 显示全部楼层
在试验. 先谢过   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-30 08:42 , Processed in 0.064651 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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