目标
特别说明:
1)[ 两边必须有空格 ]
2) [[ 两边必须有空格 ]]
3) 更多判断, man test
查看。
2、条件判断相关参数
问:你要判断什么?
答:我要判断文件类型,判断文件新旧,判断字符串是否相等,判断权限等等
2.1 判断文件类型
判断参数 |
含义 |
-e |
判断文件是否存在(任何类型文件) |
-f |
判断文件是否存在,并且是一个普通文件 |
-d |
判断文件是否存在,并且是一个目录 |
-L |
判断文件是否存在,并且是一个软链接文件 |
-b |
判断文件是否存在,并且是一个快设备文件 |
-S |
判断文件是否存在,并且是一个套接字文件 |
-c |
判断文件是否存在,并且是一个字符设备文件 |
-p |
判断文件是否存在,并且是一个命名管道文件 |
-s |
判断文件是否存在,并且是一个非空文件(有内容) |
举例说明:
2.2 判断文件权限
判断参数 |
含义 |
-r |
当前用户对其是否可读 |
-w |
当前用户对其是否可写 |
-x |
当前用户对其是否可执行 |
-u |
是否usuid,高级权限冒险位 |
-g |
是否sgid,高级权限强制位 |
-k |
是否有t位,高级权限粘滞位 |
2.3 判断文件新旧
判断参数 |
含义 |
file1 -nt file2 |
比较file1是否比file2新 |
file1 -ot file2 |
比较file1是否比file2旧 |
file1 -ef file2 |
比较是否为同一个文件,或者用于判断硬链接,是否指向同一个inode |
2.4 判断整数
判断参数 |
含义 |
-eq |
相等(equal) |
-ne |
不等(Unequal) |
-gt |
大于(greater than) |
-lt |
小于(less than) |
-ge |
大于等于(Greater than or equal to) |
-le |
小于等于(Less than or equal to) |
2.5 判断字符串
判断参数 |
含义 |
-z |
判断是否为空字符串,字符串长度为0则成立 |
-n |
判断是否为非空字符串,字符串长度不为0则成立 |
string1 = string2 |
判断字符串是否相等 |
string1 != string2 |
判断字符串是否不相等 |
2.6 多重条件判断
判断符号 |
含义 |
-a 和 && |
逻辑与 |
-o 和 || |
逻辑或 |
特别说明:
&& 前面的表达式为真,才会执行后面的代码
|| 前面的表达式为假,才会执行后面的代码
; 只用于分割命令或表达式



[ ] 和 [[ ]区别
1、当做字符串判断时,如果有一个字符串为空且没有加引号的话就会报错。
$curl = new curl($gGlobalConfig['App_livmedia']['host'], $gGlobalConfig['App_livmedia']['dir']);
$curl->setReturnFormat('json');
$curl->initPostData();
$curl->addRequestData('id',$id);
$ret = $curl->request('vod.php');
$video = $ret[0];
$videourl = $video['vodurl'] . $video['video_filename'] . '.m3u8';
if (ISIOS)
{
$videourl = str_replace('.mp4', '.m3u8', $videourl);
}
$aspect = $video['aspect'];
$rate = explode(':', $aspect);
$rate = $rate[1] / $rate[0];
$videoheight = $rate * $h5width;
$imagewidth = $video['img_info']['imgwidth'];
$imageheight = $video['img_info']['imgheight'];
$h5height = intval($imageheight / $imagewidth * $h5width);
$imginfo = web_get_pic_url($video['img_info'],$h5width,$h5height);