Shell if中的正則表達式使用詳解
由于工作需要對用戶提交的數(shù)據(jù)進行驗證,這是一個簡單的日期正則驗證實例,有需要了解的同學可參考。
shell中的if語句需要做一個正則判斷,查了一下語法記錄之。
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
常用的正則表達式
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中應該不支持正則,用awk grep sed等工具實現(xiàn)吧
flag=`echo $file |awk '/start/'` if [ "$flag" = "" ];then echo "success" else echo "failed" fi
Bourne Shell 的 if 語句和大部分編程語言一樣 - 檢測條件是否真實,如果條件為真,shell 會執(zhí)行這個 if 語句指定的代碼塊,如果條件為假,shell 就會跳過 if 代碼塊,繼續(xù)執(zhí)行之后的代碼。
if 語句的語法:
if[判斷條件] then command1 command2 …….. last_command fi
相關文章
linux下保留文件系統(tǒng)下剩余指定數(shù)目文件的shell腳本
本文介紹下,用于保留文件系統(tǒng)下剩余指定數(shù)量的文件的一個shell腳本,感興趣的朋友可以參考下2013-11-11Linux中多命令執(zhí)行'';''和''&&''的區(qū)別解釋
大家有沒有發(fā)現(xiàn)在 Linux 中經(jīng)常使用到一個命令,如 make && make install,這里也可以使用 make ; make install,那么在 Linux 中執(zhí)行命令 ; 和 && 有何區(qū)別?下面通過這篇文章來給大家詳細的介紹下面,有需要的朋友們可以參考借鑒。2016-12-12scp 將數(shù)據(jù)從一臺linux服務器復制到另一臺linux服務器
這篇文章主要介紹了scp 將數(shù)據(jù)從一臺linux服務器復制到另一臺linux服務器,需要的朋友可以參考下2017-09-09Linux Bash 提示符的一些騷操作(自定義 Bash 提示符)
這篇文章主要介紹了Linux Bash 提示符的一些騷操作,一些能讓你自定義 Bash 提示符的黑科技,需要的朋友可以參考下2017-07-07