亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5798 | 回復: 8
打印 上一主題 下一主題

在shell里如何限制輸入的長度?  關閉 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2002-09-11 13:33 |只看該作者 |倒序瀏覽
舉個例子,比如用戶輸入用戶名時只能給他輸入8個字符,如果超過了8個字符光標就停止在第八個字符那兒,不繼續(xù),一直等待回車

論壇徽章:
8
白羊座
日期:2015-01-21 18:35:03巳蛇
日期:2015-02-03 17:30:37處女座
日期:2015-02-03 17:31:02羊年新春福章
日期:2015-02-03 17:31:21巨蟹座
日期:2015-02-05 16:01:06申猴
日期:2015-02-05 16:01:31摩羯座
日期:2015-02-05 16:01:41酉雞
日期:2015-02-05 16:02:37
2 [報告]
發(fā)表于 2002-09-11 13:57 |只看該作者

在shell里如何限制輸入的長度?

只怕要自己來另寫一個SHELL了。

論壇徽章:
0
3 [報告]
發(fā)表于 2002-09-11 17:54 |只看該作者

在shell里如何限制輸入的長度?

我現(xiàn)在可以實現(xiàn)到如果輸入超出的話光標就停在最后一個字符,但是對于那些輸入小于規(guī)定位數(shù)的那些就沒折了,舉個例子,比如用戶域最長不能超過8位,我輸入了6位然后回車,就不會結束,一定要輸入完8位按回車才可以結束

論壇徽章:
0
4 [報告]
發(fā)表于 2002-09-11 21:39 |只看該作者

在shell里如何限制輸入的長度?

帖出來 看看 !

論壇徽章:
0
5 [報告]
發(fā)表于 2002-09-12 09:06 |只看該作者

在shell里如何限制輸入的長度?

[這個貼子最后由lvgq2001在 2002/10/09 05:10pm 編輯]

我這里有一個,應該能滿足你的要求   
文件名: input.sh 用法:input.sh 限制的長度
例:input.sh 8 即限制輸入8位。
#!/bin/ksh
# Program Name : input.sh
# Programmer   : 呂永輝(湖北省仙桃市信用聯(lián)社)
trap '' 1 2 3 5 7 9 15 13
getcon(){
stty raw -echo
conchar=`dd if=/dev/tty bs=1 count=1 2>/dev/null`
stty sane
echo "$conchar"
}
while
     i=0&#59;clear >/dev/tty
     echo "\033[12&#59;15H請輸入口令[`printf "%$1s" ' '`]" > /dev/tty
     echo "\033[12&#59;26H\c" > /dev/tty
     while
      [ "$i" = "$1" ] && break
      p=`getcon`
      [ &quot;$p&quot; = &quot;^[&quot; ] &amp;&amp; break   # 此處的^[用<ctrl>+<v>和<esc>輸入
      [ &quot;$p&quot; = &quot;^M&quot; ] &amp;&amp; break   # 此處的^M用<ctrl>+<v>和<ctrl>+<M>輸入
      PASS=`echo $PASS$p`
      echo &quot;\033[12&#59;`expr 26 + $i`H*\c&quot; > /dev/tty
     do
      i=`expr $i + 1`
     done
do
     [ &quot;$p&quot; = &quot;^[&quot; ] &amp;&amp; {        # 此處的^[用<ctrl>+<v>和<esc>輸入
        clear&#59;break
                }
     echo &quot;\n你的輸入為PASS&quot;&#59;break
     PASS=''
done
[說明]在輸入中敲<Esc>鍵即可中止輸入退出程序。
這僅僅是一個例子,你還可以根據(jù)自己的需要調整,也可以把它做成一個函數(shù)放在
自己的shell中。
(在SCO OpenServer 5.0.5中測試通過。)

論壇徽章:
0
6 [報告]
發(fā)表于 2002-09-12 09:12 |只看該作者

在shell里如何限制輸入的長度?

#!/bin/sh
mgets()
{
        SAVEDSTTY=`stty -g`
#       stty -echo
        stty raw
        dd if=/dev/tty bs=1 count=8 2> /dev/null
        stty -raw
#       stty echo
        stty $SAVEDSTTY
}
clear
tput cup 1 1
echo &quot;user [        ]&quot;
tput cup 1 7
char=`mgets`
stty -echo
read x
stty echo
echo &quot;&quot;
echo &quot;input($char)&quot;
不過輸入過快的話會超出

論壇徽章:
0
7 [報告]
發(fā)表于 2002-09-17 14:58 |只看該作者

在shell里如何限制輸入的長度?

我覺得這個很有用,頂一下!

論壇徽章:
0
8 [報告]
發(fā)表于 2002-09-17 15:31 |只看該作者

在shell里如何限制輸入的長度?

方法不錯,呵呵:)

論壇徽章:
0
9 [報告]
發(fā)表于 2002-10-04 00:31 |只看該作者

在shell里如何限制輸入的長度?

用下面的程序試試。
#!/bin/sh

clear
while [ 1 ]
do
    tput cup 2 1
    echo &quotlease enter password:                   &quot;
    tput cup 2 23
    read Pass
    len=`expr length $Pass`
    if [ $len -ne 8 ]
    then
        tput cup 2 23
    else
        break
    fi
done
tput cup 3 23
echo &quot;The length of password is 8 bytes,Okay!&quot;
   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP