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

南昌网站建设搜q.479185700整站seo外包

南昌网站建设搜q.479185700,整站seo外包,建设教育局网站硬件价格需要多少钱,建立大数据平台目录 测试 test测试文件的表达式 是否成立 格式 选项 比较整数数值 格式 选项 字符串比较 常用的测试操作符 格式 逻辑测试 格式 且 (全真才为真) 或 (一真即为真) 常见条件 双中括号 [[ expression ]] 用法 &…

目录

测试

 test测试文件的表达式 是否成立

格式

选项

比较整数数值

格式

选项

字符串比较

常用的测试操作符

格式

逻辑测试

格式

且 (全真才为真)

或 (一真即为真)

常见条件

双中括号

[[ expression ]] 用法

( ){ }  可以将多个命令组合在一起,批量执行

if语句的结构

分支结构

单分支

双分支

多分支

举例

单分支

判断是否为超级管理员

​编辑

判断主机连通性

多分支

考试成绩

case

格式

字符

例子

考试成绩

石头剪刀布

echo

date

seq 


测试

 test测试文件的表达式 是否成立

格式

1.test  条件表达式

2. [ 条件表达式 ]  (注意[ ]空格,否则会失败)

3.[ 操作符 文件或目录 ]

选项

-d:测试是否为目录(Directory)

[root@localhost ~]# test -d /etc/
[root@localhost ~]# echo $?
0

-e:测试目录或文件是否存在(Exist)

[root@localhost ~]# test -e /etc
[root@localhost ~]# echo $?
0
[root@localhost ~]# test -e /fwf
[root@localhost ~]# echo $?
1

-a:测试目录或文件是否存在(Exist) 

[root@localhost ~]# test -a /etc
[root@localhost ~]# echo $?
0
[root@localhost ~]# test -a /fwf
[root@localhost ~]# echo $?
1

 a和e的区别在于a不可以取非

[root@localhost ~]#[ ! -e /etc/shadow ]
[root@localhost ~]#echo $?
1
[root@localhost ~]#[ ! -a /etc/shadow ]
[root@localhost ~]#echo $?
0

-f:测试是否为文件(File)

[root@localhost ~]# test -f /etc/init.d
[root@localhost ~]# echo $?
1
[root@localhost ~]# test -f /etc/yum.conf
[root@localhost ~]# echo $?
0

-r:测试当前用户是否有权限读取(Read)

-w:测试当前用户是否有权限写入(Write)

-x:测试当前用户是否有权限执行(eXcute)

root执行权限别人没有root也没有,别人有root也有

[root@localhost 123]# ll /etc/shadow
----------. 1 root root 1266 11月  8 13:21 /etc/shadow
[root@localhost 123]# [ -r /etc/shadow ]
[root@localhost 123]# echo $?
0
#实际效果,不是表面显示,注意root权限
[root@localhost 123]# [ -x /etc/shadow ]
[root@localhost 123]# echo $?
1
#root执行权限别人没有root也没有,别人有root也有
[root@localhost 123]# 

-L: 测试是否为软连接文件

[root@localhost /]# test -L /etc/localtime
[root@localhost /]# echo $?
0
[root@localhost /]# test -L /etc/yum.conf
[root@localhost /]# echo $?
1
[root@localhost /]# 

测试是否成功使用 $? 返回值(0为正确,非0不正确)

比较整数数值

格式

[ 整数1 -操作符 整数2 ] 公式

选项

-eq:第一个数等于(Equal)第二个数

-ne:第一个数不等于(Not Equal)第二个数

-gt:第一个数大于(Greater Than)第二个数

-lt:第一个数小于(Lesser Than)第二个数

-le:第一个数小于或等于(Lesser or Equal)第二个数

-ge:第一个数大于或等于(Greater or Equal)第二个数

[root@localhost /]# a=6
[root@localhost /]# b=9
[root@localhost /]# [ $a -eq $b ]
[root@localhost /]# echo $?
1
[root@localhost /]# [ $a -le $b ]
[root@localhost /]# echo $?
0
[root@localhost /]#

字符串比较

常用的测试操作符

=:字符串内容相同

!=:字符串内容不同,! 号表示相反的意思

-z:字符串内容为空

-n: 字符是否存在

格式

[ 字符串1 = 字符串2 ] 是否相同

[root@localhost /]# qwe=xuyucheng
[root@localhost /]# rty=taishuail
[root@localhost /]# [ $qwe = $rty ]
[root@localhost /]# echo $?
1
[root@localhost /]# rty=xuyucheng  
[root@localhost /]# [ $qwe = $rty ]
[root@localhost /]# echo $?
0
[root@localhost /]# 

[ 字符串1 != 字符串2 ] 是否不相同

[root@localhost /]# qwe=xuyucheng
[root@localhost /]# rty=taishuail
[root@localhost /]# [ $qwe != $rty ]
[root@localhost /]# echo $?
0

[ -z 字符串 ] 是否为空

[root@localhost /]# rty=taishuail
[root@localhost /]# [ -z $rty ]
[root@localhost /]# echo $?
1
[root@localhost /]# rty=" "
[root@localhost /]# [ -z $rty ]
[root@localhost /]# echo $?
0
[root@localhost /]# 

[ -n 字符串 ] 字符是否存在

逻辑测试

格式

1.  [ 表达式1 ] 操作符 [ 表达式2 ] ...

2.   命令1 操作符 命令2 ...

且 (全真才为真)

第一个要真 第二 个也要真 才能是真

如果第一个为假 ,整个 就为假 不用执行下个操作

cmd1 && cmd2

或 (一真即为真)

如果第一个 为真 那么 不用执行第二个

第一个为假 ,才需要执行第二个

cmd1 || cmd2

常见条件

-a或&&:逻辑与,“而且”的意思全真才为真

-o或||:逻辑或,“或者”的意思一真即为真

!:逻辑否

双中括号

[[ expression ]] 用法

== 左侧字符串是否和右侧的PATTERN相同

 注意:此表达式用于[[ ]]中,PATTERN(元字符)为通配符

=~ 左侧字符串是否能够被右侧的正则表达式的PATTERN所匹配

 注意: 此表达式用于[[  ]]中;扩展的正则表达式

[root@localhost ~]# xuc=tre.log
[root@localhost ~]# [[ "$xuc" == *.log ]]  //是否有.log结尾的
[root@localhost ~]# echo $?
0
[root@localhost ~]# xuc=tre.text       //将字符串重新定义
[root@localhost ~]# [[ "$xuc" == *.log ]]    //是否有.log结尾的
[root@localhost ~]# echo $?
1
[root@localhost ~]# [[ "$xuc" != *.log ]]    //!取反 是否没有.log结尾的
[root@localhost ~]# echo $?
0
[root@localhost ~]# 

( ){ }  可以将多个命令组合在一起,批量执行

[root@localhost ~]# (cd /opt;ls)
999       nginx-1.18.0           qqq.sh  test2
aa        nginx-1.18.0.tar.gz    rh
a.tar.gz  nginx-1.18.0.tar.gz.0  test
etc       qqq                    test1

( )会开启子shell

{ }  不会开启子进程

if语句的结构

if语句  单分支   判断条件  成功执行  

                         不成功       不执行

分支结构

单分支

if 判断条件;

then   条件为真的分支代码

fi

双分支

if 判断条件;then

条件为假的分支代码

fi

多分支

if 判断条件1
then
 条件1为真的分支代码

elif 判断条件2
then
 条件2为真的分支代码

elif 判断条件3;then
 条件3为真的分支代码

...
else
 以上条件都为假的分支代码  托底

fi

举例

单分支

判断是否为超级管理员
#!/bin/bashif [ "$USER" != "root" ]
then
echo "非用户管理员"
else
echo "是管理员用户"
fi

判断主机连通性
#!/bin/bash
ping -c 3 192.168.17.2
if 
[ $? = 0 ]
then 
echo "与真机网络通畅"
exit 1
fi
echo "与真机不通"

多分支

考试成绩
#!/bin/bash
read -p "请输入你的成绩:" cjif [ $cj -ge 85 ]&&[ $cj -le 100 ]
then
echo "你的成绩为$cj"
echo "你的成绩为优秀"elif [ $cj -ge 70 ]&&[ $cj -le 84 ]
then
echo "你的成绩为$cj"
echo "你的成绩为良好"elif [ $cj -ge 60 ]&&[ $cj -le 69 ]
then
echo "你的成绩为$cj"
echo "你的成绩为合格"
else
echo "你的成绩为$cj"
echo "你的成绩不合格"
fi

case

格式

case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

read -p

case $num  in

条件判断1)

命令序列)
 ;;
条件判断2)
 命令序列2)
 ;;

esac

字符

* 任意长度任意字符

? 任意单个字符

[0-9] 指定范围内的任意单个字符

|   或者,如: a|b

例子

考试成绩
[root@localhost qqq]# bash 4.sh
请输入你的分数4
4 不及格
[root@localhost qqq]# cat 4.sh
#!/bin/bashread -p "请输入你的分数" cjcase $cj in
100)
echo "$cj 你好棒!"
;;
[89][0-9])
echo "$cj 一般般吧,仍需努力"
;;
[67][0-9])
echo "$cj 及格"
;;
[0-9]|[1-5][0-9])
echo "$cj 不及格"
;;*)
echo "输入有误"
esac

石头剪刀布
#!/bin/bash
m=`echo $[RANDOM%3+1]`
read -p "请输入 1.石头2.剪刀3.布:" hif [ $m -eq $h ]
then
echo  "打成平局"
bash $0
elif [ $h -eq 1 -a  $m -eq 2 -o $h -eq 2 -a $m -eq 3 -o $h -eq 3  -a $m -eq 1 ]
then
echo "人类胜利"
else
echo  机器胜利
fi#!/bin/bash
key=`echo $[RANDOM%3+1]`
read -p "请输入1包子 2剪子 3 锤子:" numcase $num in
1)num="包子"
;;
2)num="剪子"
;;
3)num="锤子"
;;
*)echo "你输错了!"exit
;;
esaccase $key in
1)key="包子"
;;
2)key="剪子"
;;
3)key="锤子"
;;
esacif [ $num = "包子" -a $key = "锤子"  -o $num = "剪子" -a $key = "包子" -o $num = "锤子" -a $key = "剪子" ]
thenecho 机器出的是$key
echo 你出的是$num echo "人类胜利"
elif [ $num = $key ]
then
echo 机器出的是$key
echo 你出的是$num echo "打成平局再来一次"
elseecho 机器出的是$key
echo 你出的是$num 
echo "机器胜利"
fi

echo

echo -n   表示不换行输出

echo -e   表示输出转义符

常用的转义符

不换行显示

\c  使用在数字中间会把后面内容删除


date

date查看当前系统时间

-d 你描述的日期,显示指定字符串所描述的时间,而非当前时间

%F 完整日期格式,等价于 %Y-%m-%d

% T 时间(24小时制)(hh:mm:ss

cal  2023

seq 

从1 开始 步长为2  到10 为止

从 20开始  步长为 -1 到1 为止

http://www.hkea.cn/news/579876/

相关文章:

  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件
  • 郑州做网站公司dz论坛如何seo
  • 十堰商城网站建设网络营销seo优化
  • 小欢喜林磊儿什么网站做家教福州seo推广外包
  • 许昌网站开发博客营销
  • 做网站用jquery爱站网关键词挖掘
  • wordpress手动裁剪seo营销推广服务公司
  • 英文网站建设网站海南网站制作公司
  • 网页设计与网站建设主要内容软文营销的特点
  • 一起做网站17广州最新小组排名
  • 最专业的网站设计公司有哪些论坛企业推广
  • 单页网站怎么做外链个人网页
  • 宁波城乡住房建设局网站有效的网络推广
  • 网站建设 深圳销售crm客户管理系统
  • 高端网站开发设计站长之家字体
  • 免费网站建站工具购买域名的网站
  • 淘宝联盟怎么做网站百度网站提交
  • 前端做用vue做后台多还是做网站多青岛网站快速排名优化
  • 岳阳网站开发公司海淀区seo多少钱
  • 2017年做网站维护总结百度搜索软件
  • 南京网站建设公司点击器原理
  • 网站怎么编辑搜狗网站提交入口
  • 自建网站做外贸的流程广告推广方式
  • 警告欺骗网站模板免费注册
  • 获取网站访客信息seo分析师招聘
  • 制作网页的网站有哪些网站建设
  • 日本真人做爰无遮挡视频免费网站嘉兴关键词优化报价
  • 忻州市中小企业局网站贵州整站优化seo平台