linux 中條件測試判斷

文件條件測試判斷:

  -e 文件存在

  -a 文件存在

  這個選項的效果與-e相同. 但是它已經被"棄用"了, 并且不鼓勵使用.

  -f 表示這個文件是一個一般文件(并不是目錄或者設備 文件)

  -s 文件大小不為零

  -d 表示這是一個目錄

  -b 表示這是一個塊設備(硬盤, 光驅, 等等.)

  -c 表示這是一個字符設備(鍵盤, modem, 聲卡, 等等.)

  -p 這個文件是一個管 道

  -h 這是一個符 號鏈接

  -L 這是一個符號鏈接

  -S 表示這是一個socket

  -t 文件(描 述符)被關聯到一個終端設備上

  這個測試選項一般被用來檢測腳本中的stdin([ -t 0 ]) 或者stdout([ -t 1 ])是否來自于一個終端.

  -r 文件是否具有可讀權限(指的是正在運 行這個測試命令的用戶是否具有讀權限)

  -w 文件是否具有可寫權限(指的是正在運行這個測試命令的用戶是否具有寫權限)

  -x 文件是否具有可執行權限(指的是正在運行這個測試命令的用戶是否具有可執行權限)

  -g set-group-id(sgid)標記被設置到文件或目錄上

  如果目錄具有sgid標 記的話, 那么在這個目錄下所創建的文件將屬于擁有這個目錄的用戶組, 而不必是創建這個文件的用戶組. 這個特性對于在一個工作組中共享目錄非常有用.

  -u set-user-id (suid)標記被設置到文件上

  如果一個root用戶所擁有的二進制可執行文件設置了set-user-id標記位的話, 那么普通用戶也會以root權限來 運行這個文件. [1] 這對于需要訪問系統硬件的執行程序(比如pppd和cdrecord)非常有用. 如果沒有suid標志的話, 這些二進制執行程序是不能夠被非root用戶調用的.

  對于設置了suid標 志的文件, 在它的權限列中將會以s表示

  .

  -k

  設置粘貼位

  對于"粘貼位"的一般了解, save-text-mode標 志是一個文件權限的特殊類型. 如果文件設置了這個標志, 那么這個文件將會被保存到緩存中, 這樣可以提高訪問速度. [2] 粘貼位如果設置在目錄中, 那么它將限制寫權限. 對于設置了粘貼位的文件或目錄, 在它們的權限標記列中將會顯示t.

  如果用戶并不擁有這個設置了粘貼位的目錄, 但是他在這個目錄下具有寫權限, 那么這個用戶只能在這個目錄下刪除自己所擁有的文件. 這將有效的防止用戶在一個公共目錄中不慎覆蓋或者刪除別人的文件. 比如說/tmp目錄. (當然, 目錄的所有者或者root用 戶可以隨意刪除或重命名其中的文件.

  )

  -O 判斷你是否是文件的擁有者

  -G 文件的group-id是否與你的相同

  -N 從文件上一次被讀取到現在為止, 文件是否被修改過

  f1 -nt f2

  文件f1比 文件f2新

  f1 -ot f2

  文件f1比 文件f2舊

  f1 -ef f2

  文件f1和 文件f2是相同文件的 硬鏈接

  !

  "非" — 反轉上邊所有測試的結果(如果沒給出條件, 那么返回真).

注意:變量引用時,有且在比較中,一定要引號“” ‘’,這樣防止出現錯誤,還有就是盡量用雙中擴號中[[  ]]

[[ "$num1" == "$num2" ]]   [[ 'str1' == 'str2' ]]

字符串判斷:

  -z "STRING":判斷指定的字串為空,空則為真,不空為假

  -n "STRING":判斷指定的字串是否為不空,不空為真,空為假

 

 數值測試

  -eq:是否等于; [ $num1 -eq $num2 ]

  -ne 是否不等于

  -gt是否大于

  -ge是否大于等于

  -lt 是否小于

  -le是否小于等于

字符串測試

  ==:是否等于 兩邊要留空格

  > :是否大于

  <: 是否小于

  != 是否不等于

  =~ 左側的字符串是否能夠被右側的PATTERN所匹配

[ "$string" == "smile" ]

原創文章,作者:不忘初衷,如若轉載,請注明出處:http://www.www58058.com/67421

(0)
不忘初衷不忘初衷
上一篇 2017-02-02 13:16
下一篇 2017-02-02 19:32

相關推薦

  • varnish

    Web Page Cache: squid –> varnish程序的運行具有局部性特征:時間局部性:一個數據被訪問過之后,可能很快會被再次訪問空間局部性:一個數據被訪問時,其周邊的數據也有可能被訪問到 cache:命中 熱區:局部性;時效性:緩存空間耗盡:LRU過期:緩存清理 緩存命中率:hit/(hit+miss)(0,1)頁面命中率:…

    Linux干貨 2017-05-22
  • vim文本編輯器

    Vim文本編輯器不能單獨編寫二進制文件,但是可以配合xxd命令編輯二進制文件 1、文本編輯種類: 行編輯器: sed 全屏編輯器:nano, vi、vim(其是改進的vi) 其他編輯器: Gedit,一個簡單的圖形編輯器 Gvim,一個Vim編輯器的圖形版本 2、打開文件 用法#vim  [OPTION]… FILE… +#…

    Linux干貨 2016-08-15
  • 16個很有用的在線工具

    1. ExplainShell.com 命令解釋 對于Linux用戶來說每天都會寫各種命令和腳本,那么你可以使用這個網站工具來查看命令式如何工作的,這樣可以避免不必要的錯誤出現;也是一個很好的學習命令的方式 2. BashrcGenerator.com 定制個性命令提示符 簡單說就是個性化生成命令提示符,可將生成的代碼…

    Linux干貨 2015-03-13
  • 為什么新建文件時,所在文件系統還有大量剩余空間,卻提示此文件系統空間已滿??

    一:答疑解惑:    這是因為該文件所在分區的inode號被用盡,雖然分區的剩余容量還有很多。 二:基本原理:   inode為何物block又為何物?以及,inode都有哪些特征?   ①我們知道,在linux文件系統中,文件名只是計算機用來給人看,而計算機本身只識別文件所對應的數字或編號,而這個編號或數字…

    2017-07-22
  • N26-第十二周

    1、請描述一次完整的http請求處理過程;        1、建立或處理鏈接:接收請求或拒絕請求        2、接收請求:接收來自于網絡的請求報文中對某資源的一次請求的過程;接收請求的方式通常是并發訪問響應模型        3、處理請…

    2017-05-14
  • Linux 終端類型

      1、 什么是終端     終端就是用戶與主機進行交互的一種介質(方式),可以是虛擬的,也可以是實體的。   2、 終端種類       (1)控制臺終端(/dev/console):在Linux系統中,計算機顯示器通常被稱為控制臺終端。Console與虛擬終端相關聯…

    Linux干貨 2016-10-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 15:53

    總結性的知識,可以嘗試的使用表格,加油?。。?/p>

欧美性久久久久