linux if 命令判斷條件總結

来源:https://www.cnblogs.com/NiceTime/archive/2018/03/13/8561344.html
-Advertisement-
Play Games

linux if 命令判斷條件總結linux if命令 關於文件屬性的判斷式 -a 如果文件存在 -b 如果文件存在,且該文件是區域設備文件 -c 當file存在並且是字元設備文件時返回真 -d 當pathname存在並且是一個目錄時返回真 -e 當pathname指定的文件或目錄存在時返回真 -f ...


linux if 命令判斷條件總結
linux if命令

關於文件屬性的判斷式

-a 如果文件存在

-b 如果文件存在,且該文件是區域設備文件

-c 當file存在並且是字元設備文件時返回真

-d 當pathname存在並且是一個目錄時返回真

-e 當pathname指定的文件或目錄存在時返回真

-f 當file存在並且是普通文件時返回真

-g 當由pathname指定的文件或目錄存在並且設置了SGID位時返回為真

-h 當file存在並且是符號鏈接文件時返回真,該選項在一些老系統上無效

-k 當由pathname指定的文件或目錄存在並且設置了“sticky”位時返回真

-r 當由pathname指定的文件或目錄存在並且可讀時返回為真

-s 當file存在文件大小大於0時返回真

-t 文件描述符 如果文件描述符是開啟的,且鏈接了某一個終端

-u 當由pathname指定的文件或目錄存在並且設置了SUID位時返回真

-w 當由pathname指定的文件或目錄存在並且可執行時返回真。一個目錄為了它的內容被訪問必然是可執行的。

-x 如果文件存在,且該文件有可執行的屬性

-O 當由pathname指定的文件或目錄存在並且被子當前進程的有效用戶ID所指定的用戶擁有時返回真。

-G 如果文件存在,且該文件為有效的群組 id 所擁有

-L 如果該文件存在,且該文件是符號鏈接文件

-S 如果該文件存在,且該文件是Socket文件

-N 如果該文件存在,且該文件自上次讀取後曾修改過

文件1 –nt 文件2 如果文件1比文件2新,或者文件1存在,文件2不存在

文件1 –ot 文件2 如果文件1比文件2舊,或者文件1不存在,文件2存在

文件1 –ef 文件2 如果文件1和文件2 引用到相同的設備和 inode 編號

關於字元串的條件判斷式

-z 空串 (如果字元串長度為0)

-n 非空串 (如果字元串長度不為0)

字元串 如果字元串長度不為0

!= 如果兩個字元串不相等

= 如果兩個字元串相等

== 如果兩個字元串相等

字元串 1 < 字元串 2 如果字元串1小於字元串2

字元串 1 > 字元串 2 如果字元串1大於字元串2


關於算式的條件判斷

-eq 等於

-ne 不等於

-gt 大於

-lt 小於

-le 小於等於

-ge 大於等於

關於 Bash 選項的條件判斷

-o set的選項名稱 如果選項是開啟的狀態


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用VS2013 + EF6 + .NET4.5 連接Mysql資料庫 使用VS2013 + EF6 + .NET4.5 連接Mysql資料庫 1、安裝插件 在使用Visual Studio 2013添加ADO.NET實體數據模型新建連接時,預設是沒有Mysql選項的。此時我們需要安裝兩個東西: 1 ...
  • 有時候程式發生異常,用戶正在編輯數據突然系統就蹦了,為了避免用戶已經編輯的數據丟失,最好將用戶正在操作的數據進行本地持久化 ...
  • .Net Core依賴註入添加的每個服務,最終都會轉換為一個ServiceDescriptor的實例,ServiceDescriptor包含以下屬性: Lifetime:服務的生命周期(Singleton:單例,Scoped:單個請求期間,Transient:暫時的,每次都創建一個實例) Servi ...
  • 網站開發,使用Cookie對暫存數據進行讀寫,可以使用C#,javascript,jQuery,也可以使用angularjs等等來讀寫...... 本篇實現angularjs環境之下對Cookie時行讀寫移動等操作。首先編寫angularjs的控制器: pilotApp.controller('Co ...
  • 最近有同事問道在應用程式啟動之後,再次雙擊應用程式,如何保證不再啟動新的應用程式,而是彈出之前已經啟動的進程,本質上這就是創建一個單實例的WPF應用程式。在VS的工程樹中有一個App.xaml和App.xaml.cs(這兩個文件都是VS自動生成的),在App.xaml.cs中定義了App類,該類繼承 ...
  • (基於 Linux 3.4.2 內核) 可分為以下幾個步驟來完成這個驅動: ~~~~ 1. 分配設置一個 usb_driver 結構體 2. 註冊這個 usb_driver (如果設備的 id_table 與驅動匹配的話會調用驅動程式的 probe 函數) 3. 在 probe 函數中分配 urb ...
  • #!/bin/bash#註釋#註釋#環境變數相關,如下PATH=/sbin:/bin:/usr/bin:/usr/sbin #引入庫函數,如下,類似於c語言的#include "*.h" . /etc/init.d/functions #獲取相關配置信息,不是必須的,如test -f /etc/sy ...
  • 本文最後修改時間:20180313 一、快速修改,重啟後設置就沒了 二、修改配置文件,重啟設置還在 (一)ubuntu 版本命令行設置靜態IP 修改 /etc/network/interfaces 在/etc/resolv.conf添加 重啟網卡: (二)SUSE 1、修改IP地址 修改/etc/s ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...