Shell if中的正則表達(dá)式使用詳解
由于工作需要對(duì)用戶提交的數(shù)據(jù)進(jìn)行驗(yàn)證,這是一個(gè)簡(jiǎn)單的日期正則驗(yàn)證實(shí)例,有需要了解的同學(xué)可參考。
shell中的if語(yǔ)句需要做一個(gè)正則判斷,查了一下語(yǔ)法記錄之。
DATEPATTERN="^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$" if [[ "$STARTDATE" =~ $DATEPATTERN ]] && [[ $ENDDATE =~ $DATEPATTERN ]]; then : else echo "date format is invalid!" exit; fi
常用的正則表達(dá)式
if [[ "$file" =~ 'start' ]] 或if [[ "$file" =~ "start" ]]
例子:
#!/usr/bin/ksh file="10start11.s" if [[ "$file" =~ "start" ]] then echo "success" else echo "failed" fi
只有bash才支持[[
ksh在test中應(yīng)該不支持正則,用awk grep sed等工具實(shí)現(xiàn)吧
flag=`echo $file |awk '/start/'` if [ "$flag" = "" ];then echo "success" else echo "failed" fi
Bourne Shell 的 if 語(yǔ)句和大部分編程語(yǔ)言一樣 - 檢測(cè)條件是否真實(shí),如果條件為真,shell 會(huì)執(zhí)行這個(gè) if 語(yǔ)句指定的代碼塊,如果條件為假,shell 就會(huì)跳過(guò) if 代碼塊,繼續(xù)執(zhí)行之后的代碼。
if 語(yǔ)句的語(yǔ)法:
if[判斷條件] then command1 command2 …….. last_command fi
相關(guān)文章
linux下保留文件系統(tǒng)下剩余指定數(shù)目文件的shell腳本
本文介紹下,用于保留文件系統(tǒng)下剩余指定數(shù)量的文件的一個(gè)shell腳本,感興趣的朋友可以參考下2013-11-11Linux中多命令執(zhí)行'';''和''&&''的區(qū)別解釋
大家有沒(méi)有發(fā)現(xiàn)在 Linux 中經(jīng)常使用到一個(gè)命令,如 make && make install,這里也可以使用 make ; make install,那么在 Linux 中執(zhí)行命令 ; 和 && 有何區(qū)別?下面通過(guò)這篇文章來(lái)給大家詳細(xì)的介紹下面,有需要的朋友們可以參考借鑒。2016-12-12scp 將數(shù)據(jù)從一臺(tái)linux服務(wù)器復(fù)制到另一臺(tái)linux服務(wù)器
這篇文章主要介紹了scp 將數(shù)據(jù)從一臺(tái)linux服務(wù)器復(fù)制到另一臺(tái)linux服務(wù)器,需要的朋友可以參考下2017-09-09詳談Linux開(kāi)發(fā)中常見(jiàn)段錯(cuò)誤問(wèn)題的原因及分析
下面小編就為大家?guī)?lái)一篇詳談Linux開(kāi)發(fā)中常見(jiàn)段錯(cuò)誤問(wèn)題的原因及分析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03linux獲取系統(tǒng)啟動(dòng)時(shí)間示例詳解
這篇文章主要介紹了linux獲取系統(tǒng)啟動(dòng)時(shí)間的示例,需要的朋友可以參考下2014-02-02非常好的12道shell命令經(jīng)典面試問(wèn)題
shell面試題總結(jié)了一些,讓我們一起看一下吧,非常好的12道shell命令經(jīng)典面試問(wèn)題,需要的朋友可以參考下2018-02-02Linux Bash 提示符的一些騷操作(自定義 Bash 提示符)
這篇文章主要介紹了Linux Bash 提示符的一些騷操作,一些能讓你自定義 Bash 提示符的黑科技,需要的朋友可以參考下2017-07-07