当前位置: 首页 > wzjs >正文

深圳市龙华区网站建设seo优化百度技术排名教程

深圳市龙华区网站建设,seo优化百度技术排名教程,网站建设卖东西,广西智能网站建设企业目录 1.条件测试语句 2.文件表达式测试 2.1测试文件状态的条件表达式 2.2程序验证 2.2.1 单个文件验证 2.2.3.两个文件验证 3.字符串表达式测试 4.数字表达式测试 5.复合表达式测试 1.条件测试语句 在写shell脚本时,经常遇到的问题就是判断字符串是否相等&…

目录

1.条件测试语句

2.文件表达式测试

2.1测试文件状态的条件表达式

2.2程序验证

2.2.1 单个文件验证

2.2.3.两个文件验证

3.字符串表达式测试

4.数字表达式测试

5.复合表达式测试


1.条件测试语句

在写shell脚本时,经常遇到的问题就是判断字符串是否相等,可能还要检查文件状态或进行数字测试,只有这些测试完成才能做下一步动作。
test命令 :用于测试字符串、文件状态和数字
test命令有两种格式:
test condition 或 [ condition ]
使用 方括号 时,要注意在 条件两边加上空格
shell脚本中的条件测试有以下几类:
文件测试、字符串测试、数字测试、复合测试

2.文件表达式测试

2.1测试文件状态的条件表达式

1 )按照文件类型
-e 文件名          #文件是否存在
-s 文件名          #是否为非空
-b 文件名          #块设备文件
-c 文件名          #字符设备文件
-d 文件名          #目录文件
-f  文件名          #普通文件
-L 文件名          #软链接文件,大写 L
-S 文件名          #套接字文件, 大写S
-p 文件名          #管道文件
2 )按照文件权限,指本用户的权限
-r 文件名         #可读
-w 文件名         #可写
-x 文件名         #可执行
3 )两个文件之间的比较
文件 1 -nt 文件 2         #文件 1 的修改时间是否比文件 2 新,文件最后保存时间
文件 1 -ot 文件 2         #文件 1 的修改时间是否比文件 2
文件1 -ef 文件2         #两个文件的inode节点号是否一样,用于判断是否是硬链接

2.2程序验证

2.2.1 单个文件验证

程序:
#!/bin/bash#! /bin/bashecho "请输入一个文件名 >>> "
read FILE #读取键盘输入的文件变量echo "\$? 上一个命令执行正确结果为0 " 
echo " test -e 文件 ,文件是否存在命令: "
test -e $FILE
echo "$?" # $?检查上一个命令执行是否正确,0 表示该命令正确
echo " [ -e 文件 ] 文件是否存在命令: "
[ -e $FILE ]
echo "$?"echo " test -s 文件 ,文件是否非空命令: "
test -s $FILE
echo "$?"echo " test -r 文件 命令:文件是否可读 "
[ -r $FILE ]
echo "$?"echo " test -w 文件 命令:文件是否可写 "
[ -w $FILE ]
echo "$?"echo " test -x 文件 命令:文件是否可执行 "
[ -x $FILE ]
echo "$?"echo " test -b 文件 命令: 文件是否块设备文件"
test -b $FILE
echo "$?"echo " test -c 文件 命令: 文件是否字符设备文件"
test -c $FILE
echo "$?"echo " test -d 文件 命令: 文件是否目录文件"
test -d $FILE
echo "$?"echo " test -f 文件 命令: 文件是否普通文件"
test -f $FILE
echo "$?"echo " test -L 文件 命令: 文件是否软链接文件"
test -L $FILE
echo "$?"echo " test -S 文件 命令: 文件是否套接字文件"
test -S $FILE
echo "$?"echo " test -p 文件 命令: 文件是否管道文件"
test -p $FILE
echo "$?"

运行结果:file.txt已存在,内容为空,普通文件,用户可读可写,无执行权限。

2.2.3.两个文件验证

程序:

#!/bin/bashecho "请输入FILE文件名 >>> "
read FILE #读取键盘输入的文件变量echo "请输入FILE1文件名 >>> "
read FILE1 #读取键盘输入的文件变量echo "\$? 上一个命令执行正确结果为0 " 
echo " -nt 命令,两个文件比较:FILE 修改时间比 FILE1 新? "
test $FILE -nt $FILE1
echo "$?" # $?检查上一个命令执行是否正确,0 表示该命令正确echo " [FILE -nt FILE1 ] 两个文件比较:FILE 修改时间比 FILE1 新?: "
[ $FILE -nt $FILE1 ]
echo "$?"echo " -ot 命令,两个文件比较:FILE 修改时间比 FILE1 旧? "
test $FILE -ot $FILE1
echo "$?"echo " -ef 命令,两个文件比较:FILE 和 FILE1 的inode节点号是否一样? "
test $FILE -nt $FILE1
echo "$?"

运行结果:

3.字符串表达式测试

s1 = s2         #测试两个字符串的内容是否完全一样
s1 != s2         #测试两个字符串的内容是否有差异
-z s1         #测试s1 字符串的长度是否为0
-n s1         #测试s1 字符串的长度是否不为0
程序:
#!/bin/bashecho "\$? 上一个命令执行正确结果为0 " 
echo " hello 和 hello 两个字符串相等 ? "
test "hello" = "hello"
echo "$?"echo " hello 和 hella 两个字符串相等 ? "
test "hello" = "hella"
echo "$?"echo " hello 和 hello 两个字符串不相等 ? "
test "hello" != "hello"
echo "$?"echo " hello 和 hella 两个字符串不相等 ? "
test "hello" != "hella"
echo "$?"echo " hello 字符串长度为0 ? "
test -z "hello"
echo "$?"echo " hello 字符串长度不为0 ? "
test -n "hello"
echo "$?"

运行结果:

4.数字表达式测试

a -eq b         # 测试a 与 b 是否相等
a -ne b        #测试a 与 b 是否不相等
a -gt b         #测试 a 是否大于b
a -ge b        #测试a 是否大于等于b
a -lt b         #测试a 是否小于b
a -le b        # 测试a 是否小于等于b
程序:
#!/bin/bashecho "please input two numbers >>> "
read NUM1 NUM2echo "\$? 上一个命令执行正确结果为0 " 
test $NUM1 -eq $NUM2
echo "相等?$?"test $NUM1 -ne $NUM2
echo "不相等?$?"test $NUM1 -gt $NUM2
echo "大于?$?"test $NUM1 -ge $NUM2
echo "大于等于?$?"test $NUM1 -lt $NUM2
echo "小于?$?"test $NUM1 -le $NUM2
echo "小于等于?$?"

运行结果:

5.复合表达式测试

(1)命令执行控制 :
&& :(类似C语言 && 且逻辑,两者同时成立才为真)
command1 && command2
&& 左边的命令( command1 )执行成功 ( 即返回 0 ), shell 才执行 && 右边的命令( command2
||: (类似C语言 || 或逻辑,两者之中有一个为真,结果就为真)
command1 || command2
|| 左边的命令( command1 )未执行成功 ( 即返回非 0 ), shell 才执行 || 右边的命令( command2
(2) 多重条件判定
-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.

程序:

#!/bin/bashecho "\$? 上一个命令执行正确结果为0 " 
num=10echo "num = $num " 
echo " 判断是否 0 <= num <= 50 " 
#判断 0 <= num <= 50
#test $num -ge 0 && test $num -le 50 #与下面等价
test $num -ge 0 -a $num -le 50 #只需要写一个test命令
echo "$?"echo " 判断是否 0 <= num <= 50 " 
#判断 0 <= num <= 50
test $num -ge 0 && test $num -le 50
echo "$?"echo " 判断是否 num <= 0 或者 num >= 50 " 
#判断 num <= 0 或者 num >= 50
test $num -le 0 || test $num -ge 50
echo "$?"echo " 判断是否 num <= 20 或者 num >= 50 " 
#判断 num <= 20 或者 num >= 50
test $num -le 20 || test $num -ge 50
echo "$?"file="file.txt"
echo " 判断 file.txt 是否 是普通文件" 
#判断文件是否不是普通文件
test -f $file
echo "$?"echo " 判断 file.txt 是否 不是普通文件" 
#判断文件是否不是普通文件
test ! -f $file
echo "$?"echo " 判断 file.txt 是否 存在并且 是否是目录文件" 
#判断文件是否存在并且是否是目录文件
test -e $file && test -d $file
echo "$?"

运行结果:

http://www.dtcms.com/wzjs/405850.html

相关文章:

  • 寻找东莞微信网站建设产品软文范例100字
  • 网站的线下推广怎么做宁波seo推广服务
  • 北京网站建设需要多少钱济宁seo公司
  • xyz溢价域名最好的网站网络违法犯罪举报网站
  • 学习网站建设与管理谷歌搜索广告优化
  • 做影视免费网站违法吗关键词首页排名优化价格
  • 云适配 网站什么关键词可以搜到那种
  • 设计学校排名中国百度app优化
  • 温州市网站制作公司全网最低价24小时自助下单平台
  • 决定网站打开的速度吗免费加客源软件
  • 网站审核时间推广软件的app
  • 哪里网站做的好外链群发
  • 手机网站建设域名空间最新新闻消息
  • 建设一个网站需要什么硬件如何做网址
  • 北京住房和经济建设发展委员会网站家庭优化大师免费下载
  • 自己做网站怎么做游戏推广员怎么做
  • 简历模板电子版免费seo视频教程汇总
  • 做网站的服务器要什么格式西安核心关键词排名
  • 想要给网站投稿如何做云搜索网页版入口
  • dw简单的网页制作aso优化的主要内容
  • bbs网站模板下载微信营销平台有哪些
  • 网站原创文章在哪里找广州信息流推广公司排名
  • 泊头网站建设今日头条最新消息
  • 上海做建材上什么网站好推广软件排行榜前十名
  • 做网站网页维护手机App开发怎么引流到微信呢
  • 外贸网站建设及优化ppt模块网络广告文案案例
  • 网站开发四点注意事项seo综合查询国产
  • 需要找做网站的互联网广告营销方案
  • 网站托管是什么意思营销型网站建设费用
  • 做外贸是不是要有网站灵感关键词生成器