kkstar 发表于 2006-2-24 02:18:22

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

刚学shell编程 问些菜问题
1. 如何判断输入是3位数字(就是控制输入只能是3位数字)
2. 如何判断输入格式是前3位是数字第4位是-后4位还是数字
3.如何判断输入只包含空格或者字母
4.如何使当输出写入文件成功后显示"输入成功",而写入不成功时不显示"输入成功"

:?::?: 希望大家不吝赐教 先谢过... :D

MichaelBibby 发表于 2006-2-24 09:11:28

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

刚学shell编程 问些菜问题
1. 如何判断输入是3位数字(就是控制输入只能是3位数字)

正则表达式里表示“3位数字”:
'[0-9][0-9][0-9]'
代码测试:

#!/usr/bin/env bash

read first

echo $first |grep '[0-9][0-9][0-9]' >/dev/null
echo $?

2. 如何判断输入格式是前3位是数字第4位是-后4位还是数字

#!/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


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



4.如何使当输出写入文件成功后显示"输入成功",而写入不成功时不显示"输入成功"
判断exit status($?变量),然后做一个if语句就行了。参考1,2.

kkstar 发表于 2006-2-24 11:35:56

在试验. 先谢过 :P:P
页: [1]
查看完整版本: 小菜问菜问题了..希望各位帮忙回答