Shell中的判断标志
| 測試的標誌 | 代表意義 |
| 1. 關於某個檔名的『檔案類型』判斷,如 test -e filename 表示存在否 | |
| -e | 該『檔名』是否存在?(常用) |
| -f | 該『檔名』是否存在且為檔案(file)?(常用) |
| -d | 該『檔名』是否存在且為目錄(directory)?(常用) |
| -b | 該『檔名』是否存在且為一個 block device 裝置? |
| -c | 該『檔名』是否存在且為一個 character device 裝置? |
| -S | 該『檔名』是否存在且為一個 Socket 檔案? |
| -p | 該『檔名』是否存在且為一個 FIFO (pipe) 檔案? |
| -L | 該『檔名』是否存在且為一個連結檔? |
| 2. 關於檔案的權限偵測,如 test -r filename 表示可讀否 (但 root 權限常有例外) | |
| -r | 偵測該檔名是否存在且具有『可讀』的權限? |
| -w | 偵測該檔名是否存在且具有『可寫』的權限? |
| -x | 偵測該檔名是否存在且具有『可執行』的權限? |
| -u | 偵測該檔名是否存在且具有『SUID』的屬性? |
| -g | 偵測該檔名是否存在且具有『SGID』的屬性? |
| -k | 偵測該檔名是否存在且具有『Sticky bit』的屬性? |
| -s | 偵測該檔名是否存在且為『非空白檔案』? |
| 3. 兩個檔案之間的比較,如: test file1 -nt file2 | |
| -nt | (newer than)判斷 file1 是否比 file2 新 |
| -ot | (older than)判斷 file1 是否比 file2 舊 |
| -ef | 判斷 file1 與 file2 是否為同一檔案,可用在判斷 hard link 的判定上。 主要意義在判定,兩個檔案是否均指向同一個 inode 哩! |
| 4. 關於兩個整數之間的判定,例如 test n1 -eq n2 | |
| -eq | 兩數值相等 (equal) |
| -ne | 兩數值不等 (not equal) |
| -gt | n1 大於 n2 (greater than) |
| -lt | n1 小於 n2 (less than) |
| -ge | n1 大於等於 n2 (greater than or equal) |
| -le | n1 小於等於 n2 (less than or equal) |
| 5. 判定字串的資料 | |
| test -z string | 判定字串是否為 0 ?若 string 為空字串,則為 true |
| test -n string | 判定字串是否非為 0 ?若 string 為空字串,則為 false。 註: -n 亦可省略 |
| test str1 = str2 | 判定 str1 是否等於 str2 ,若相等,則回傳 true |
| test str1 != str2 | 判定 str1 是否不等於 str2 ,若相等,則回傳 false |
| 6. 多重條件判定,例如: test -r filename -a -x filename | |
| -a | (and)兩狀況同時成立!例如 test -r file -a -x file,則 file 同時具有 r 與 x 權限時,才回傳 true。 |
| -o | (or)兩狀況任何一個成立!例如 test -r file -o -x file,則 file 具有 r 或 x 權限時,就可回傳 true。 |
| ! | 反相狀態,如 test ! -x file ,當 file 不具有 x 時,回傳 true |
参考:http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#dis
Shell中的判断标志的更多相关文章
- shell中条件判断if中的-z到-d的意思
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 ...
- shell 中如何判断前一个命令是否执行成功
shell 中如何判断前一个命令是否执行成功 通过判断返回值来解决: if [ $? -eq 0 ];then 命令正确的分支 else 命令失败的分支 fi
- 在shell中如何判断字符串是否为有效的IP地址【转】
转自 在shell中如何判断字符串是否为有效的IP地址_echoisecho_新浪博客http://blog.sina.com.cn/s/blog_53a844e50100xxus.html 近来需要 ...
- shell中条件判断if中的-z到-d
shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 ...
- Shell中比较判断
一.shell判断数组中是否包含某个元素:ary=(1 2 3)a=2if [[ "${ary[@]}" =~ "$a" ]] ; then echo & ...
- shell 中的判断
一.if的基本语法: if [ command ];then 符合该条件执行的语句 elif [ command ];then 符合该条件执行的语句 else 符合该条件执行的语句 ...
- 【转】shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then echo &q ...
- shell中如何判断某一命令是否存在
参考: http://www.cnblogs.com/tuzkee/p/3755230.html https://segmentfault.com/q/1010000000156870 http:// ...
- shell 中条件判断
if 中的 -z 到 -d 的意思 2011-09-05 10:30 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ ...
随机推荐
- 如何让ConfigurationManager打开任意的配置文件
VisualStudio的配置文件很好很强大,用来保存数据库连接字符串或键值对都非常方便,只需要通过ConfigurationManager的ConnectionStrings或AppSettings ...
- Android studio 相关错误处理
1.android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" --> 在Activity中设置,表 ...
- ZOJ 3699 Dakar Rally
Dakar Rally Time Limit: 2 Seconds Memory Limit: 65536 KB Description The Dakar Rally is an annu ...
- JavaScript获取浏览器高度和宽度值(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...
- Linux服务器,PHP的10大安全配置实践
PHP被广泛用于各种Web开发.而当服务器端脚本配置错误时会出现各种问题.现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等).本文例举了十大PHP最佳安全实践方式 ...
- 【Python】自动生成html文件查看指定目录中的所有图片
获取本目录下的pic子目录中的所有图片(jpg,png,bmp,gif等,此处以jpg文件为例),然后生成一个image.html文件,打开该html文件即可在浏览器中查看pic子目录中的所有图片. ...
- ASM:《X86汇编语言-从实模式到保护模式》第15章:任务切换
15章其实应该是和14章相辅相成的(感觉应该是作者觉得14章内容太多了然后切出来了一点).任务切换和14章的某些概念是分不开的. ★PART1:任务门与任务切换的方法 1. 任务管理程序 14章的时候 ...
- VC++ 制作一个简易的控制台时钟应用
1.下载EasyX Library for C++ (http://www.easyx.cn/) 直接下载:EasyX_20151015(beta) EasyX 绘图库目前支持 Visual C++ ...
- 前端 js 实现简单 表单提交
1. 登录页 验证用户身份,登录成功之后等待一定秒数,跳转到操作页面 <html> <head> <title>Login.html</title> & ...
- IIS跳转html页面自动识别是PC端还是手机端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...