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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
123下一頁(yè)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 13324 | 回復(fù): 22
打印 上一主題 下一主題

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?  關(guān)閉 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2003-06-08 21:50 |只看該作者 |倒序?yàn)g覽
如:
please input your passwd:1234
我想做成:
please input your passwd:****
我知道可以用stty -echo來(lái)禁止回顯,那么如何把輸入的字符變成*呢?
用什么方法可以實(shí)現(xiàn)!?
謝謝~~~@_@

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2003-06-09 00:28 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

原帖由 "bjgirl" 發(fā)表:
如:
please input your passwd:1234
...


  1. #!/bin/sh

  2. getchar() {
  3.     stty cbreak -echo
  4.     dd if=/dev/tty bs=1 count=1 2> /dev/null
  5.     stty -cbreak echo
  6. }

  7. printf "Please input your passwd: "

  8. while : ; do
  9.     ret=`getchar`
  10.     if [ x$ret =  x ]; then
  11.         echo
  12.         break
  13.     fi
  14.     str="$str$ret"
  15.     printf "*"
  16. done

  17. echo "Your password is: $str"

復(fù)制代碼

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2003-06-09 00:48 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

謝謝您的指點(diǎn)

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2003-06-09 01:02 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

[quote]原帖由 "bjgirl"]謝謝您的指點(diǎn)[/quote 發(fā)表:
   

不要客氣。  

不過(guò)還有個(gè)缺點(diǎn),就是上面的代碼對(duì)“回車(chē)”和“空格”都認(rèn)為口令結(jié)束,可以用 C 的 getchar() 來(lái)處理就不會(huì)有這個(gè)問(wèn)題。

好在UNIX口令中一般也沒(méi)有空格。

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

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

謝謝!我基本有個(gè)思路啦~~
if [ x$ret =  x ]

請(qǐng)問(wèn)JJ,這句是不是有問(wèn)題???

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2003-06-09 01:17 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

原帖由 "bjgirl" 發(fā)表:

請(qǐng)問(wèn)JJ,這句是不是有問(wèn)題???
   

因?yàn)?$ret 有可能為空,產(chǎn)生這樣的錯(cuò)誤,

[  = "" ]  

所以在等號(hào)兩邊都加上相同的字符,以防止這樣的錯(cuò)誤

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2003-06-09 01:23 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

我用的是紅帽8,KSH...有些問(wèn)題!不麻煩您啦,我自己再慢慢消化一下吧~~,goodnight

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2003-06-09 01:24 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

再次感謝

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2003-06-09 01:27 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

原帖由 "紅袖添香" 發(fā)表:
  

所以在等號(hào)兩邊都加上相同的字符,以防止這樣的錯(cuò)誤
   

哦,是我疏忽了,   寫(xiě)成

[ x"$ret" = x ]

就解決了

謝謝 MM 提醒,

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2003-06-09 13:12 |只看該作者

請(qǐng)教:如何把輸入的字符自動(dòng)轉(zhuǎn)換成*?

紅JJ,我在KSH上調(diào)試通過(guò)啦~~,但是有句我不明白,望指點(diǎn)

  1. #!/bin/ksh
  2. function getchar {
  3. stty cbreak -echo
  4. dd if=/dev/tty bs=1 count=1 2> /dev/null
  5. stty -cbreak echo
  6. }
  7. print -n "Please input your passwd: "
  8. while
  9. do
  10. ret=$(getchar)
  11. if [[ -z $ret ]]; then echo; break; fi ;
  12. str=$str$ret                           //這句麻煩您給解釋解釋
  13. print "*"
  14. done
  15. echo "Your password: $str"
復(fù)制代碼

謝謝!
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP