bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Shell語法的示例分析-創新互聯

這篇文章給大家分享的是有關Shell語法的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

我們提供的服務有:成都網站設計、做網站、微信公眾號開發、網站優化、網站認證、臨澤ssl等。為上千企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的臨澤網站制作公司

轉義字符:

Shell語法的示例分析

在對文本解析時,雙引號會對字符串解析,單引號保持字面含義。

Shell語法的示例分析

Shell語法的示例分析

echo $?本bash最近一次進程退出碼

雙引號用于保持引號內所有字符的字面值(回車也不例外),但以下情況除外:


Shell語法的示例分析

Shell語法的示例分析

條件測試:退出碼0表示成功,非0表示失敗

對于×××值言,

    -gt表示大于即great

    -ge表示大于等于great equal


    -eq表示相等equal


    -lt表示小于即little


    -le表示小于等于


read val表示從標準輸入讀到val

對于字符串比較:直接使用=,==(建議使用),或!=

    可選擇$str1==$str2,或"X$str1"=="X$str2"(建議,防止$str1為空時直接比較,X為任意字符)


此處不可使用單引號,單引號只取字面意思

Shell語法的示例分析

Shell語法的示例分析

運行結果:

Shell語法的示例分析


Shell語法的示例分析

運行結果:

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

-d判斷是否存在且是目錄

-f判斷是否存在且是普通文件

dir存在且是目錄,test不存在,test.sh存在是普通文件

Shell語法的示例分析

比較字符串最好寫成如下方式:

Shell語法的示例分析

Shell語法的示例分析

if-elseif語句:分支

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

$1是一個自動變量,腳本生成時創建:第一個參數,即test.sh.

序列號容器:vector,數組下標從0開始

關聯號容器:腳本容器(map:以字符串作為下標)

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

Shell語法的示例分析

轉載:

shell中[[]]與[]的區別?

1.概念上來說

"[[",是關鍵字,許多shell(如ash bsh)并不支持這種方式。ksh, bash(據說從2.02起引入對[[的支持)等支持。
"["是一條命令, 與test等價,大多數shell都支持。在現代的大多數sh實現中,"["與"test"是內部(builtin)命令。

2. 相同:二者都支持算術比較和字符串比較表達式(具體使用可能有點不同)

(1)"-gt", "-lt"是算術比較操作符,用于比較整數的大小。
(2)">", "<"是字符串比較操作符,用于比較字符串的大小,使用字典順序,與當前的locale有關。

(3)關于字符串比較。[...]、``.``.``.``中都可以對字符串進行比較,比較的順序是"字典順序"。對ascii字符來講,碼表中排列在前的較小,這里只要用了"<"、">",就表示是字符串比較,那么9 > 100為真,因為這實際上等價于‘9’ > ‘100’,9在碼表中排在1后面,所以字符串"9"大于字符串"100"。只要搞清楚了何時是算術比較,何時是串比較,一般就不會出錯了。<><>

(4)建議在使用數值比較的時候,使用let,(())命令,否則容易出錯;<>

2.1  “[“用法<>

$ [ 2 -lt 10 ]&&echo true&&echo false<>

true<>

$  [ 2 -gt 10 ]&&echo true||echo false<>

false<>

按字符串比較

$  [ 2 \< 10 ]&&echo true||echo false<>

false<>

$  [ 2 \> 10 ]&&echo true||echo false  #you should use "\>"<>

true<>

2.2 “[[“用法<>

$  ` 2 -gt 10 `&&echo true||echo fa<>lse

false<>

$  ` 2 -lt 10 `&&echo true||echo false<>

true<>

仍然按字符串比較<>

$  [[ 2 < 10 ]]&&echo true||echo false<>

false<>

$  [[ 2 > 10 ]]&&echo true||echo false<>

true<>

<>

3.相同:都支持簡單的模式匹配<>

這里的模式匹配要簡單得多,類似文件名的統配符的擴展規則。還要注意等號右端的模式不能用引號括起,使用引用關閉了某些元字符的特殊功能<>

<>

3.1  “[“用法<>

$ [ test = test ]&&echo true||echo false<>

true<>

$ [ test = t*t ]&&echo true||echo false<>

true<>

$ [ test = t..t ]&&echo true||echo false  #not match.<>

false<>

$ [ test = "t??t" ]&&echo true||echo false #alert: don't quote the pattern,使用引用關閉了?的特殊功能<>

false<>

<>

Shell語法的示例分析

Shell語法的示例分析

<>


3.2  “[[“用法<>

$ [[ test = test ]]&&echo true||echo false  #normal compare<>

true<>

$ [[ test = t*t ]]&&echo true||echo false  #pattern match.<>

true<>

$ [[ test = t..t ]]&&echo true||echo false  #not match.<>

false<>

$ [[ test = t??t ]]&&echo true||echo false<>

true<>

$ [[ test = "t??t" ]]&&echo true||echo false # alert: don't quote the pattern,使用引用關閉了?的特殊功能<>

false<>

<>

Shell語法的示例分析

Shell語法的示例分析

4.不同點<>

4.1邏輯與和邏輯或<>

(1)"[" :邏輯與:"-a";邏輯或:"-o";<>

(2)"[[":邏輯與:"&&";邏輯或:"||"<>

$ [[ 1 < 2 && b > a ]]&&echo true||echo false<>

true<>

$ [[ 1 < 2 -a b > a ]]&&echo true||echo false<>

bash: syntax error in conditional expression<>

bash: syntax error near `-a'<>

$ [ 1 < 2 -a b > a ]&&echo true||echo false<>

true<>

$ [ 1 < 2 && b > a ]&&echo true||echo false  #wrong syntax<>

bash: [: missing `]'<>

false<>

$ [ 1 < 2 \&\& b > a ]&&echo true||echo false  #aslo wrong<>

bash: [: &&: binary operator expected<>

false<>

<>

Shell語法的示例分析

Shell語法的示例分析

<>


4.2命令行參數<>

(1)[ ... ]為shell命令,所以在其中的表達式應是它的命令行參數,所以串比較操作符">" 與"<"必須轉義,否則就變成IO重定向了;<>

(2)由于"[["是關鍵字,不會做命令行擴展,所以在[[中"<"與">"不需轉義,但是相對的語法就稍嚴格些。例如在[ ... ]中可以用引號括起操作符,因為在做命令行擴展時會去掉這些引號,而在` `.``.``.` `則不允許這樣做;<>

$ [ "-z" "" ]&&echo true||echo false<>

true<>

$ [ -z "" ]&&echo true||echo false<>

true<>

$ [[ "-z" "" ]]&&echo true||echo false

bash: conditional binary operator expected

bash: syntax error near `""'

$ [[ -z "" ]]&&echo true||echo false

true

4.3  ` `.``.``.` `進行算術擴展,而[ ... ]不做

$ [[ 99+1 -eq 100 ]]&&echo true||echo false

true

$ [ 99+1 -eq 100 ]&&echo true||echo false

bash: [: 99+1: integer expression expected

false

$ [ $((99+1)) -eq 100 ]&&echo true||echo false

true

4.4正則表達式匹配區別

[]需加\[,\]轉義。

感謝各位的閱讀!關于“Shell語法的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文名稱:Shell語法的示例分析-創新互聯
本文地址:http://vcdvsql.cn/article48/didiep.html

成都網站建設公司_創新互聯,為您提供品牌網站設計網站收錄網站營銷微信公眾號建站公司響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯