網站首頁 編程語言 正文
在Shell腳本中,條件測試命令用于根據不同的條件判斷返回一個狀態碼(0表示成功/真,非零值表示失敗/假),從而控制程序的流程。條件測試是通過 test 命令或其另一種等價形式 [ … ] 來執行的。下面是一些詳細的條件測試內容:
-
test 命令與方括號形式
使用 test 命令進行條件測試:
test condition
等價的方括號形式:[ condition ]
注意:方括號兩邊需要有空格,例如
[ -f file.txt ]
。 -
常見條件測試選項
a) 文件測試:
- -e file: 檢查文件是否存在。
- -f file: 檢查文件是否存在且為普通文件(不是目錄、設備文件等)。
- -d file: 檢查是否為目錄。
- -r file: 檢查是否有讀權限。
- -w file: 檢查是否有寫權限。
- -x file: 檢查是否有執行權限。
b) 數值比較:
-eq, -ne, -gt, -lt, -ge, -le: 整數值比較,分別表示等于、不等于、大于、小于、大于等于、小于等于。
c) 字符串比較:
- = 或 ==: 字符串相等。
- !=: 字符串不等。
- -z string: 字符串長度為零(即為空字符串)。
- -n string: 字符串長度不為零(即非空字符串)。
-
示例
# 文件存在性檢查 if [ -f /path/to/file ]; then echo "文件存在并是一個普通文件" fi # 數值比較 num1=5 num2=7 if [ $num1 -eq $num2 ]; then echo "num1 和 num2 相等" else echo "num1 和 num2 不相等" fi # 字符串比較 str1="Hello" str2="World" if [ "$str1" = "$str2" ]; then echo "str1 和 str2 相等" else echo "str1 和 str2 不相等" fi
-
邏輯組合
可以使用邏輯操作符連接多個條件測試,如:
&&: 邏輯與(兩個條件都為真時結果才為真)。
||: 邏輯或(兩個條件有一個為真時結果就為真)。if [ -f file1.txt ] && [ -f file2.txt ]; then echo "file1.txt 和 file2.txt 都存在" fi
原文鏈接:https://blog.csdn.net/weixin_40482577/article/details/136702417
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-07-04 解決Python保存文件名太長OSError:?[Errno?36]?File?name?too?l
- 2022-10-16 QT編寫tcp通信工具(Client篇)_C 語言
- 2023-11-21 python使用print輸出不同顏色的字體、終端顯示不同顏色字體
- 2022-08-16 python可視化分析繪制散點圖和邊界氣泡圖_python
- 2022-06-17 GO語言協程互斥鎖Mutex和讀寫鎖RWMutex用法實例詳解_Golang
- 2022-11-06 Android?菜單欄DIY實現效果詳解_Android
- 2023-04-11 Golang使用協程實現批量獲取數據_Golang
- 2022-12-13 iOS底層實例解析Swift閉包及OC閉包_IOS
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支