x is
值判斷工具,用於檢查值是否符合預期條件。
支持多值批量檢查,所有檢查通過才返回成功。
TIP
最佳實踐:
- 批量檢查多個值: 'x is int 1 2 3 4 5'
- 檢查變量未設置: 'x is unset VAR1 VAR2'
- 檢查文件最新: 'x is newest target src/* lib/*'
例子
檢查整數: 批量判斷多值都是整數
sh
x is int 42 100 -5 0檢查浮點數: 批量判斷多值都是浮點數
sh
x is float 3.14 -2.5 .5檢查正數: 批量判斷多值都≥0
sh
x is positive 1 10 100檢查負數: 批量判斷多值都<0
sh
x is negative -1 -10 -100範圍檢查: 批量判斷多值都在[1,100]範圍內
sh
x is minmax 1 100 50 75相等檢查: 判斷多值全相等
sh
x is eq "a" "a" "a"成員檢查: 判斷值在候選列表中
sh
x is within "ok" pending success failed分隔符列表: 逗號分隔列表成員檢查
sh
x is in "b" "a,b,c,d"IP檢查: 批量判斷多值都是IPv4地址
sh
x is ip 192.168.1.1 10.0.0.1文件新舊: 判斷文件比通配文件新
sh
x is newest build.tar.gz src/*.c lib/*.h文件最舊: 判斷文件比通配文件舊
sh
x is oldest cache.txt /tmp/*.tmp變量檢查: 批量判斷多變量都未設置
sh
x is unset TEMP_VAR1 TEMP_VAR2交互式檢測: 判斷是否為交互式會話
sh
x is interactive && echo "Interactive" || echo "Script"WSL檢測: 判斷是否在WSL環境中
sh
x is wsl && echo "In WSL"Termux檢測: 判斷是否在Termux環境中
sh
x is termux && echo "In Termux"環境 suitability: 判斷是否適合啓用advise功能
sh
x is suitable_advise_env && x advise enable子命令
| 名称 | 描述 |
|---|---|
| x is in- | 判斷值是否在減號分隔的列表中。例: x is in- a a-b-c |
| x is in_ | 判斷值是否在下劃線分隔的列表中。例: x is in_ a a_b_c |
| x is in | 判斷值是否在管道符分隔的列表中。例: x is in| a a|b|c |
| x is int | 判斷值是否為整數。支持多值批量檢查,所有值都通過才返回0 |
| x is float | 判斷值是否為浮點數(必須包含小數點)。支持批量檢查 |
| x is positive | 判斷值是否為正整數(≥0)。支持多值批量檢查 |
| x is negative | 判斷值是否為負整數(<0)。支持多值批量檢查 |
| x is minmax | 判斷值是否在[min,max]範圍內。格式: x is minmax MIN MAX VALUE... |
| x is eq | 判斷多值是否相等。不傳參數時從stdin讀取對比 |
| x is within | 判斷第一個值是否在後面的候選列表中 |
| x is in | 判斷值是否在冒號分隔的列表中。例: x is in: a a🅱️c |
| x is ip | 判斷值是否為IPv4地址。支持多值批量檢查 |
| x is newest | 判斷第一個文件是否比其它文件新。支持通配符展開 |
| x is oldest | 判斷第一個文件是否比其它文件舊。支持通配符展開 |
| x is unset | 判斷變量是否未設置。支持多變量批量檢查 |
| x is interactive | 判斷當前是否為交互式會話(檢查PS1或$-包含i) |
| x is interactive_tty | 判斷stdin是否為交互式TTY([ -t 0 ]) |
| x is interactiveshell | 判斷當前shell是否為交互式shell(檢查$-包含i) |
| x is repl | 判斷當前是否處於REPL模式(檢查$___X_CMD_REPL) |
| x is stdout2tty | 判斷stdout是否輸出到TTY([ -t 1 ]) |
| x is wsl | 判斷當前是否在WSL環境中(檢查uname -r和/proc/version) |
| x is cygwin | 判斷當前是否在Cygwin環境中(檢查OSTYPE和uname -o) |
| x is msys | 判斷當前是否在MSYS/MinGW環境中 |
| x is gitbash | 判斷當前是否在Git Bash環境中(基於MSYS+Git特定變量) |
| x is termux | 判斷當前是否在Termux環境中(檢查PREFIX和/data/data/com.termux) |
| x is ish | 判斷當前是否在iSH(iOS上的Alpine Linux)環境中 |
| x is suitable_pkg | 判斷環境是否適合安裝軟件包(檢查寫權限和基本命令) |
| x is suitable_advise_env | 判斷環境是否適合使用advise功能(需要交互式+TTY+TERM) |
| x is suitable_advise_repl | 判斷環境是否適合使用advise REPL功能 |
TIP
在交互式终端中(如 zsh, bash ...),可以使用 Tab 获取补全信息
运行 CMD SUBCOMMAND --help 可以获取命令的更多信息
本文作者
轉載請註明本文出處及鏈接
sh
https://hk.x-cmd.com/mod/is
幫助我們改善文檔
X-CMD 的文檔內容來自命令的幫助文檔、多個數據源以及文檔庫生成。文檔中如果有錯誤或不明確的地方,歡迎通過這些方式進行告知~
扫描添加小助手完成验证加入微信群
