<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 操作系統 > Linux教程 >

        Linux shell 比較運算符使用方法教程

        時間: 加城1195 分享

          Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。對于Linux基礎,肯定要掌握的是基本命令和一些重要運算符,這篇文章主要介紹了Linux shell 比較運算符詳解,需要的朋友可以參考下

          文件比較運算符

          -e filename 如果 filename 存在,則為真 [ -e /var/log/syslog ]

          -d filename 如果 filename 為目錄,則為真 [ -d /tmp/mydir ]

          -f filename 如果 filename 為常規文件,則為真 [ -f /usr/bin/grep ]

          -L filename 如果 filename 為符號鏈接,則為真 [ -L /usr/bin/grep ]

          -r filename 如果 filename 可讀,則為真 [ -r /var/log/syslog ]

          -w filename 如果 filename 可寫,則為真 [ -w /var/mytmp.txt ]

          -x filename 如果 filename 可執行,則為真 [ -L /usr/bin/grep ]

          filename1 -nt filename2 如果 filename1 比 filename2 新,則為真 [ /tmp/install/etc/services -nt /etc/services ]

          filename1 -ot filename2 如果 filename1 比 filename2 舊,則為真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]

          字符串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)

          -z string 如果 string 長度為零,則為真 [ -z "$myvar" ]

          -n string 如果 string 長度非零,則為真 [ -n "$myvar" ]

          string1 = string2 如果 string1 與 string2 相同,則為真 [ "$myvar" = "one two three" ]

          string1 != string2 如果 string1 與 string2 不同,則為真 [ "$myvar" != "one two three" ]

          算術比較運算符

          num1 -eq num2 等于 [ 3 -eq $mynum ]

          num1 -ne num2 不等于 [ 3 -ne $mynum ]

          num1 -lt num2 小于 [ 3 -lt $mynum ]

          num1 -le num2 小于或等于 [ 3 -le $mynum ]

          num1 -gt num2 大于 [ 3 -gt $mynum ]

          num1 -ge num2 大于或等于 [ 3 -ge $mynum ]

          算術運算符

          + - * / % 表示加減乘除和取余運算

          += -= *= /= 同 C 語言中的含義

          位操作符

          > >>= 表示位左右移一位操作

          & &= | |= 表示按位與、位或操作

          ~ ! 表示非操作

          ^ ^= 表示異或操作

          關系運算符

          = == != 表示大于、小于、大于等于、小于等于、等于、不等于操作

          && || 邏輯與、邏輯或操作

          測試命令

          test命令用于檢查某個條件是否成立,它可以進行數值、字符和文件3個方面的測試,其測試符和相應的功能分別如下。

          (1)數值測試:

          -eq 等于則為真。

          -ne 不等于則為真。

          -gt 大于則為真。

          -ge 大于等于則為真。

          -lt 小于則為真。

          -le 小于等于則為真。

          (2)字串測試:

          = 等于則為真。

          != 不相等則為真。

          -z字串 字串長度偽則為真。

          -n字串 字串長度不偽則為真。

          (3)文件測試:

          -e文件名 如果文件存在則為真。

          -r文件名 如果文件存在且可讀則為真。

          -w文件名 如果文件存在且可寫則為真。

          -x文件名 如果文件存在且可執行則為真。

          -s文件名 如果文件存在且至少有一個字符則為真。

          -d文件名 如果文件存在且為目錄則為真。

          -f文件名 如果文件存在且為普通文件則為真。

          -c文件名 如果文件存在且為字符型特殊文件則為真。

          -b文件名 如果文件存在且為塊特殊文件則為真

          條件變量替換:

          Bash Shell可以進行變量的條件替換,既只有某種條件發生時才進行替換,替換

          條件放在{}中.

          (1) ${value:-word}

          當變量未定義或者值為空時,返回值為word的內容,否則返回變量的值.

          (2) ${value:=word}

          與前者類似,只是若變量未定義或者值為空時,在返回word的值的同時將 word賦值給value

          (3) ${value:?message}

          若變量已賦值的話,正常替換.否則將消息message送到標準錯誤輸出(若此替換出現在Shell程序中,那么該程序將終止運行)

          (4) ${value:+word}

          若變量已賦值的話,其值才用word替換,否則不進行任何替換

          (5) ${value:offset}

          ${value:offset:length} 從變量中提取子串,這里offset和length可以是算術表達式.

          (6) ${#value}

          變量的字符個數

          (7) ${value#pattern}

          ${value##pattern}

          去掉value中與pattern相匹配的部分,條件是value的開頭與pattern相匹配

          #與##的區別在于一個是最短匹配模式,一個是最長匹配模式.

          (8) ${value%pattern}

          ${value%%pattern}

          于(7)類似,只是是從value的尾部于pattern相匹配,%與%%的區別與#與##一樣

          (9) ${value/pattern/string}

          ${value//pattern/string}

          進行變量內容的替換,把與pattern匹配的部分替換為string的內容,/與//的區別與上同

          注意: 上述條件變量替換中,除(2)外,其余均不影響變量本身的值

          #!/bin/bash

          var1="1"

          var2="2"

          下面是“與”運算符-a,另外注意,用一個test命令就可以了,還有if條件后面的分號

          if test $var1 = "1"-a $var2 = "2" ; then

          echo "equal"

          fi

          下面是“或”運算符 -o,有一個為真就可以

          if test $var1 != "1" -o $var2 != "3" ; then

          echo "not equal"

          fi

          下面是“非”運算符 !

          if條件是為真的時候執行,如果使用!運算符,那么原表達式必須為false

          if ! test $var1 != "1"; then

          echo "not 1"

          fi

          以上三個if都為真,所以三個echo都會打印

          補充:Linux基本命令

          ①ls 意為list 列出當前文件夾中的文件

          -l 顯示文件的屬性 可用ll來表示

          ②alias 別名 看看是否有別名的文件

          ③cd dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑

          ④pwd 查看當前工作的文件夾名 使用-P的選項,會直接進入到其中,相當于cd

          相關閱讀:Linuxshell腳本不執行問題實例分析

          shell腳本不執行問題:某天研發某同事找我說幫他看看他寫的shell腳本,死活不執行,報錯。我看了下,腳本很簡單,也沒有常規性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯。看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:

          1)重新在linux下編寫腳本;

          2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執行并回顯結果,有助于排查復雜腳本問題。


        Linux shell 比較運算符相關文章:

        1.linux shell腳本執行命令

        2.深度LinuxDeepin/Unix、Linux shell命令

        3.linux shell cd命令

        4.linux計算命令

        5.linux命令分號&&和&,|和||的用法介紹

        4016905 主站蜘蛛池模板: 亚洲 小说区 图片区 都市| 产精品无码一区二区三区免费| 无码中文字幕加勒比高清| 一区二区韩国福利网站| 婷婷色综合视频在线观看| 亚洲欧洲日韩国内精品| 国产午夜精品久久久久免费视| 日本高清免费毛片久久| 成人片99久久精品国产桃花岛 | 99久久免费精品色老| 精品国产亚洲区久久露脸| 国产精品视频一区不卡| 国产精品成人99一区无码| а∨天堂一区中文字幕| 无码AV无码天堂资源网影音先锋| 五月天综合社区| 国产午夜福利视频合集| 亚洲熟妇自偷自拍另类| 国产最大的福利精品自拍| 国产精品黄色片| 久久精品国产最新地址| 亚洲成aⅴ人在线观看| 欧美人与zoxxxx另类| 精品视频一区二区| 国产成人精品97| 亚洲ΑV久久久噜噜噜噜噜| 国产午夜福利在线机视频| 人妻少妇偷人一区二区| 黑人玩弄人妻中文在线| 九九热在线视频只有精品| 大地影院mv高清在线观看免费| 国产精品自偷一区在线观看| 国产精品成人av电影不卡| 日韩精品 在线 国产 丝袜| 日本熟妇色xxxxx日本免费看| 啪啪av一区二区三区| av永久天堂一区| 国产精品国产精品偷麻豆| 国产青榴视频在线观看| 成人做爰高潮片免费视频| 无码人妻人妻经典|