最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux shell實(shí)現(xiàn)獲取用戶輸入指定范圍的單個字符的兩種方法

 更新時間:2013年03月02日 19:51:37   作者:  
用shell實(shí)現(xiàn)的,要求獲取用戶輸一個字符a-zA-Z實(shí)現(xiàn)方法如下,需要的朋友可以參考下

方法一:

復(fù)制代碼 代碼如下:

echo `echo {a..z}``echo {A..Z}` > /tmp/letterfile
while read -p "please input a letter: " letter
do
    ((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && break
done
rm -f /tmp/letterfile
echo "you input letter $letter "

[root@station1 ~]# cat a.sh

復(fù)制代碼 代碼如下:

echo `echo {a..z}``echo {A..Z}` > /tmp/letterfile
while read -p "please input a letter: " letter
do
((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && break
done
rm -f /tmp/letterfile
echo "you input letter $letter "

[root@station1 ~]# chmod +x a.sh
[root@station1 ~]# ./a.sh
please input a letter: 123
please input a letter: abc
please input a letter: 4
please input a letter: &
please input a letter: (
please input a letter: a
you input letter a
[root@station1 ~]#

最初使用expr length $letter 替代 wk -v var="$letter" 'BEGIN{print length(var)}'的,但是,當(dāng)輸入*等特殊字符時,會報錯。
如下:
[root@station1 ~]# cat data

復(fù)制代碼 代碼如下:

while read -p "please input a letter: " letter
do
((`expr length $letter` == 1)) && expr $letter : [[:alnum:]] > /dev/null && break
done
echo "you input letter $letter "

[root@station1 ~]# bash data
please input a letter: 123
please input a letter: abc
please input a letter: a
you input letter a
[root@station1 ~]# bash data
please input a letter: *
expr: 語法錯誤
data: line 3: ((: == 1: syntax error: operand expected (error token is "== 1")
please input a letter:

來看方法二:

復(fù)制代碼 代碼如下:

while read -p "please input a letter: " letter
do
[[ `echo $letter | awk '/^[[:alpha:]]$/{print "1"}'` -eq 1 ]] && break
done
echo "you input letter $letter "

如下:
[root@station1 ~]# cat b.sh

復(fù)制代碼 代碼如下:

while read -p "please input a letter: " letter
do
[[ `echo $letter | awk '/^[[:alpha:]]$/{print "1"}'` -eq 1 ]] && break
done
echo "you input letter $letter "

[root@station1 ~]# chmod +x b.sh
[root@station1 ~]# ./b.sh
please input a letter: *
please input a letter: abc
please input a letter: 234
please input a letter: )
please input a letter: T
you input letter T
[root@station1 ~]#

相關(guān)文章

  • shell實(shí)現(xiàn)FizzBuzzWhizz問題示例(拉勾網(wǎng)面試題)

    shell實(shí)現(xiàn)FizzBuzzWhizz問題示例(拉勾網(wǎng)面試題)

    這篇文章主要介紹了shell實(shí)現(xiàn)FizzBuzzWhizz問題示例(拉勾網(wǎng)面試題),需要的朋友可以參考下
    2014-05-05
  • shell 腳本中獲取命令的輸出的實(shí)現(xiàn)示例

    shell 腳本中獲取命令的輸出的實(shí)現(xiàn)示例

    本文主要介紹了shell 腳本中獲取命令的輸出的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Shell腳本批量添加擴(kuò)展名的兩種方法分享

    Shell腳本批量添加擴(kuò)展名的兩種方法分享

    這篇文章主要介紹了Shell腳本批量添加擴(kuò)展名的兩種方法分享,本文講解了用rename命令修改后綴名、用for、sed和mv修改后綴名、用find和xargs添加后綴名等方法,需要的朋友可以參考下
    2014-11-11
  • shell腳本字符串和數(shù)組的使用操作方法

    shell腳本字符串和數(shù)組的使用操作方法

    這篇文章主要介紹了shell腳本字符串和數(shù)組的使用操作方法,在文中給大家提到shell將字符串分隔成數(shù)組的方法,需要的朋友可以參考下
    2019-06-06
  • Linux系統(tǒng)中運(yùn)行.sh文件的幾種方法

    Linux系統(tǒng)中運(yùn)行.sh文件的幾種方法

    這篇文章主要給大家介紹了Linux系統(tǒng)中運(yùn)行.sh文件的幾種方法,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2024-12-12
  • Shell中通配符的具體使用

    Shell中通配符的具體使用

    本文主要介紹了Shell中通配符的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • linux進(jìn)程監(jiān)控shell腳本代碼

    linux進(jìn)程監(jiān)控shell腳本代碼

    這篇文章主要為大家分享一個監(jiān)控linux進(jìn)程的shell腳本,當(dāng)程序異常退出時可以自動重啟,涉及到捕獲進(jìn)程信號與重啟進(jìn)程的命令與知識
    2014-12-12
  • 使用Shell腳本如何啟動/停止Java的jar程序

    使用Shell腳本如何啟動/停止Java的jar程序

    這篇文章主要介紹了使用Shell腳本如何啟動/停止Java的jar程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Linux使用iptables實(shí)現(xiàn)屏蔽ip地址的示例詳解

    Linux使用iptables實(shí)現(xiàn)屏蔽ip地址的示例詳解

    netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防火墻,與大多數(shù)的Linux軟件一樣,這個包過濾防火墻是免費(fèi)的。本文就來利用iptables實(shí)現(xiàn)屏蔽ip地址,需要的可以參考一下
    2022-10-10
  • mysql源碼安裝腳本分享

    mysql源碼安裝腳本分享

    這篇文章主要介紹了mysql源碼安裝的腳本,配置文件的內(nèi)容是針對mysql5.6的,需要的朋友可以參考下
    2014-03-03

最新評論

罗定市| 湘潭市| 陇南市| 县级市| 老河口市| 大埔县| 五河县| 肃北| 称多县| 丽水市| 西畴县| 玛曲县| 铜陵市| 石城县| 东阳市| 亳州市| 长丰县| 嵩明县| 大宁县| 闻喜县| 东乡族自治县| 仙桃市| 惠来县| 乌兰浩特市| 甘孜县| 于都县| 绥宁县| 穆棱市| 疏附县| 商都县| 泽普县| 孟州市| 深泽县| 扎兰屯市| 东乌| 海安县| 金湖县| 宁南县| 容城县| 商南县| 宽甸|