国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

對用戶輸入的判斷的shell實現代碼

2020-07-27 19:01:35
字體:
來源:轉載
供稿:網友

今天的案例是將 對用戶輸入的判斷的

#!/bin/sh# validint -- Validates integer input, allowing negative ints too.function validint{ # Validate first field. Then test against min value $2 and/or # max value $3 if they are supplied. If they are not supplied, skip these tests. number="$1";   min="$2";   max="$3" if [ -z $number ] ; then  echo "You didn't enter anything. Unacceptable." >&2 ; return 1 fi if [ "${number%${number#?}}" = "-" ] ; then # is first char a '-' sign?testvalue="${number#?}"   # all but first character else  testvalue="$number" fi nodigits="$(echo $testvalue | sed 's/[[:digit:]]//g')" if [ ! -z $nodigits ] ; then  echo "Invalid number format! Only digits, no commas, spaces, etc." >&2  return 1 fi if [ ! -z $min ] ; then  if [ "$number" -lt "$min" ] ; then    echo "Your value is too small: smallest acceptable value is $min" >&2    return 1  fi fi if [ ! -z $max ] ; then   if [ "$number" -gt "$max" ] ; then    echo "Your value is too big: largest acceptable value is $max" >&2    return 1   fi fi return 0}if validint "$1" "$2" "$3" ; then echo "That input is a valid integer value within your constraints"fi

解析腳本:
1) number="$1"; min="$2"; max="$3" 指用戶的3個輸入;
2)nodigits="$(echo $testvalue | sed 's/[[:digit:]]//g')" 為后面測試用戶輸入的是否全為數字做準備
3)if validint "$1" "$2" "$3" ; then 注意 "$1" "$2" "$3"要加引號。
4)testvalue變量是為了過濾負數后測試輸入是否全為數字的。
5)感覺想得挺周全的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲城县| 武乡县| 宝丰县| 南宫市| 仁怀市| 汾阳市| 类乌齐县| 托克逊县| 甘孜| 营口市| 化德县| 定安县| 铅山县| 奉贤区| 松桃| 凤台县| 特克斯县| 莱阳市| 峨边| 武安市| 卫辉市| 名山县| 巢湖市| 广州市| 贺兰县| 唐河县| 沾化县| 天峨县| 边坝县| 岫岩| 河津市| 灵石县| 师宗县| 兴义市| 从化市| 寻甸| 东海县| 安陆市| 沾益县| 江达县| 石嘴山市|