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

linux shell 入门学习笔记15 shell 条件测试

概念

shell的条件测试目的是得出真和假。

shell 提供的条件测试语法
test 命令
[] 中括号命令

语法*:
条件测试

test条件测试

test命令用来评估一个表达式,他的结果是真,还是假,如果条件为真,那么命令执行状态结果就为0,否则就是不为0,通过$?取值。

test命令参数
============检测给定文件名是否存在
-e 判断该文件是否存在,(普通文件,目录),存在就为真,否则为假
============检测给定文件名的类型
-f 判断该文件名是否为文件
-d 判断该文件名是否为目录
-b 判断该文件名是否为块设备
-c 判断该文件名是否为字符设备
-s 判断该文件名是否为socket
-p 判断该文件名是否为管道FIFO
-L 判断该文件名是否为连接
============检测文件的权限
-r 判断该文件名是否可读
-w 判断该文件名是否可写
-x 判断该文件名是否可运行
-u 判断该文件名是否有SUID属性
-g 判断该文件名是否有SGID属性
-k 判断该文件名是否有Sticky bit属性
-s 判断该文件名是否为空白文件
============文件比较 如test file1 -nt file2
-nt (newer than)判断file1是否比file2新
-ot(older than)判断file1是否比file2旧
-ef 判断file1与file2是否为同一个文件,可用在判断hard link的判定上,主要意义在判定两个文件是否均指向同一个inode
============整数之间判定
-eq 两数值相等
-ne 两数值不等
-gt n1大于n2 (greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2 (greater than or equal)
-le n1小于等于n2(less than or equal)
============判定字符串数据
-z 判断字符串是否为0,若字符串为空,则为true
-n 判断字符串是否为非0,若字符串为非空,则为true
= 判断str1与str2是否相等,相等则为true
!= 判断str1与str2是否不想等,不相等则为true
============多重条件判断
-a (and)两状态同时成立,则返回true
-o (or)两状态任意一个成立,则返回true
! 反向状态

test命令实践

-e演示

xiao123@xiao123:~/Downloads/shscripts$ test -e del_data.sh
xiao123@xiao123:~/Downloads/shscripts$ echo $?
0
xiao123@xiao123:~/Downloads/shscripts$ test -e del_data.sh12
xiao123@xiao123:~/Downloads/shscripts$ echo $?
1
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ test -e del_data.sh && echo 文件已存在
文件已存在
xiao123@xiao123:~/Downloads/shscripts$ test -e del_data.sh12 && echo 文件已存在
xiao123@xiao123:~/Downloads/shscripts$ test -e del_data.sh12 || echo 文件不存在
文件不存在
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ test -e hello && echo 该文件/目录已存在,不再执行创建动作 || mkdir hello
xiao123@xiao123:~/Downloads/shscripts$ test -e hello && echo 该文件/目录已存在,不再执行创建动作 || mkdir hello
该文件/目录已存在,不再执行创建动作
xiao123@xiao123:~/Downloads/shscripts$

-f演示

xiao123@xiao123:~/Downloads/shscripts$ ls
calculation.sh           chaochao_5_finished.png  index.html.11  index.html.2   index.html.28  index.html.6
chaochao_1_finished.png  chaochao_5.jpg           index.html.12  index.html.20  index.html.29  index.html.7
chaochao_1.jpg           del_data.sh              index.html.13  index.html.21  index.html.3   index.html.8
chaochao_2_finished.png  expr_test1.sh            index.html.14  index.html.22  index.html.30  index.html.9
chaochao_2.jpg           expr_test.sh             index.html.15  index.html.23  index.html.31  let_test.sh
chaochao_3_finished.png  hello                    index.html.16  index.html.24  index.html.32
chaochao_3.jpg           index.html               index.html.17  index.html.25  index.html.33
chaochao_4_finished.png  index.html.1             index.html.18  index.html.26  index.html.4
chaochao_4.jpg           index.html.10            index.html.19  index.html.27  index.html.5
xiao123@xiao123:~/Downloads/shscripts$ test -f hello && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$

-d演示

xiao123@xiao123:~/Downloads/shscripts$ ls
calculation.sh           chaochao_5_finished.png  index.html.11  index.html.2   index.html.28  index.html.6
chaochao_1_finished.png  chaochao_5.jpg           index.html.12  index.html.20  index.html.29  index.html.7
chaochao_1.jpg           del_data.sh              index.html.13  index.html.21  index.html.3   index.html.8
chaochao_2_finished.png  expr_test1.sh            index.html.14  index.html.22  index.html.30  index.html.9
chaochao_2.jpg           expr_test.sh             index.html.15  index.html.23  index.html.31  let_test.sh
chaochao_3_finished.png  hello                    index.html.16  index.html.24  index.html.32
chaochao_3.jpg           index.html               index.html.17  index.html.25  index.html.33
chaochao_4_finished.png  index.html.1             index.html.18  index.html.26  index.html.4
chaochao_4.jpg           index.html.10            index.html.19  index.html.27  index.html.5
xiao123@xiao123:~/Downloads/shscripts$ test -d hello && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$

-z/-n演示

xiao123@xiao123:~/Downloads/shscripts$ test -d hello && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$ test -z "" && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$ test -z " " && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ test -n "" && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ test -n " " && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$

中括号条件测试

脚本中经常进行条件测试,用的最多的都是中括号。
test和[]的作用是一样的。
注意点:中括号前后都要有空格[ ]

[ -n “${filename}” ]
注意在条件测试中,使用变量必须要添加双引号""

xiao123@xiao123:~/Downloads/shscripts$ file=del_data.sh
xiao123@xiao123:~/Downloads/shscripts$ [ -f "${file}" ] && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$ file=del_data.sh12
xiao123@xiao123:~/Downloads/shscripts$ [ -f "${file}" ] && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$

双中括号条件测试

双中括号增加了正则表达式的支持,其他与中括号相同。

变量测试

把字符串写入变量中
对变量测试,必须要加双引号

xiao123@xiao123:~/Downloads/shscripts$ file1="鸡你太美.jpg"
xiao123@xiao123:~/Downloads/shscripts$ [[ -f "${file1}" ]] && echo "我是两年半的练习生,鸡你太美" || echo "我是个好人"
我是个好人
xiao123@xiao123:~/Downloads/shscripts$ [[ -f "${file1}" ]] && echo "我是两年半的练习生,鸡你太美" || echo "我是个好人"
我是个好人
xiao123@xiao123:~/Downloads/shscripts$ touch "鸡你太美.jpg"
xiao123@xiao123:~/Downloads/shscripts$ [[ -f "${file1}" ]] && echo "我是两年半的练习生,鸡你太美" || echo "我是个好人"
我是两年半的练习生,鸡你太美
xiao123@xiao123:~/Downloads/shscripts$
字符串测试

比较两个字符串变量的值,是否相等,不等的情况。

= 判断是否相等
!= 判断不相等
! 取结果的反义,颠倒黑白

注意:
对于字符串变量的比较一定要给变量添加双引号
使用等于号判断,左右两边必须有空格

演示

xiao123@xiao123:~/Downloads/shscripts$ [ ! -f "糖果超甜组合.txt" ] && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$ [ -f "糖果超甜组合.txt" ] && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$
数值比较测试

操作方式
数值计算

  1. 在中括号以及test中数值比较的用法

在中括号中,使用数学比较符号,请添加转义符号

xiao123@xiao123:~/Downloads/shscripts$ [ 2 > 1 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 1 > 2 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 1 \> 2 ] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$
xiao123@xiao123:~/Downloads/shscripts$ [ 2 \= 2 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 2 != 2 ] && echo yes || echo no
no   #不等于可以不用添加转义
xiao123@xiao123:~/Downloads/shscripts$ [ 3 != 2 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 3 \!= 2 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 3 \!\= 2 ] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [ 3 \!\= 3 ] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$
  1. 双中括号
    对中括号的补充,双中括号还支持正则处理。
    在双中括号中不要转义字符。
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 > 6 ]] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 < 6 ]] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 = 6 ]] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 != 6 ]] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 -ge 6 ]] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 -le 6 ]] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 -gt 6 ]] && echo yes || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [[ 5 -lt 6 ]] && echo yes || echo no
yes
xiao123@xiao123:~/Downloads/shscripts$
逻辑操作符号测试

&& -a 与运算, 两边都为真,结果才为真
|| -o 或运算,两边有一个为真,结果为真
逻辑操作

中括号逻辑运算比较

xiao123@xiao123:~/Downloads/shscripts$ file1=/etc/init.d/rsync
xiao123@xiao123:~/Downloads/shscripts$ file2=/etc/hostname
xiao123@xiao123:~/Downloads/shscripts$ [ -f "${file1}" -a -f "${file2}" ] && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$ file1=/tmp/sqqqq
xiao123@xiao123:~/Downloads/shscripts$ [ -f "${file1}" -a -f "${file2}" ] && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [ -f "${file1}" -o -f "${file2}" ] && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$

双中括号运算比较

xiao123@xiao123:~/Downloads/shscripts$ str1=""
xiao123@xiao123:~/Downloads/shscripts$ str2="yuyu"
xiao123@xiao123:~/Downloads/shscripts$ [[ -n "${str1}" && -n "${str2}" ]] && echo ok || echo no
no
xiao123@xiao123:~/Downloads/shscripts$ [[ -n "${str1}" || -n "${str2}" ]] && echo ok || echo no
ok
xiao123@xiao123:~/Downloads/shscripts$

脚本开发

要求:接收用户输入,判断它是否等于某个数字。

xiao123@xiao123:~/Downloads/shscripts$ bash ./test_input.sh
Please input a char: 3
脚本出错,必须输入1和2
xiao123@xiao123:~/Downloads/shscripts$ bash ./test_input.sh
Please input a char: 1
1
xiao123@xiao123:~/Downloads/shscripts$ bash ./test_input.sh
Please input a char: 2
2
xiao123@xiao123:~/Downloads/shscripts$ cat ./test_input.sh
#! /bin/bashread -p "Please input a char: " var1[ "${var1}" -eq "1" ] && {echo ${var1}exit 0
}[[ "${var1}" = "2" ]] && {echo ${var1}exit 0
}[ "${var1}" != 2 -a "${var1}" != 1 ] && {echo "脚本出错,必须输入1和2"exit 1
}
xiao123@xiao123:~/Downloads/shscripts$

要求:安装lnmp/lamp脚本开发。

xiao123@xiao123:~/Downloads/shscripts$ mkdir test
xiao123@xiao123:~/Downloads/shscripts$ echo "echo LAMP is installed" > ./test/lamp.sh
xiao123@xiao123:~/Downloads/shscripts$ echo "echo LNMP is installed" > ./test/lnmp.sh
xiao123@xiao123:~/Downloads/shscripts$ chmod +x ./test/lamp.sh
xiao123@xiao123:~/Downloads/shscripts$ chmod +x ./test/lnmp.sh
xiao123@xiao123:~/Downloads/shscripts$

源码

xiao123@xiao123:~/Downloads/shscripts$ cat ./test_install.sh
#! /bin/bashpath=./test[ ! -d  "${path}" ] && mkdir ${path} -pcat << END1. [install lamp]2. [install lnmp]3. [exit]please input the num you want:
ENDread numexpr ${num} + 1 &>/dev/null[ $? -ne 0 ] && {echo "input number must be {1|2|3}"exit 1
}[ ${num} -eq 1 ] && {echo "Strating installing lamp.....waiting..."sleep 2[ -x ${path}/lamp.sh ] || {echo "The file does not exist or can't be execut."exit 1}${path}/lamp.shexit $?
}[ ${num} -eq 2 ] && {echo "Strating installing lnmp.....waiting..."sleep 2[ -x ${path}/lamp.sh ] || {echo "The file does not exist or can't be execut."exit 1}${path}/lnmp.shexit $?
}[ ${num} -eq 3 ] && {echo "byebye"exit 3
}[[ ! ${num} =~ [1-3] ]] && {echo "The number input must be {1|2|3}"exit 4
}
xiao123@xiao123:~/Downloads/shscripts$

运行结果

xiao123@xiao123:~/Downloads/shscripts$ bash ./test_install.sh1. [install lamp]2. [install lnmp]3. [exit]please input the num you want:
e
input number must be {1|2|3}
xiao123@xiao123:~/Downloads/shscripts$ bash ./test_install.sh1. [install lamp]2. [install lnmp]3. [exit]please input the num you want:
3
byebye
xiao123@xiao123:~/Downloads/shscripts$ bash ./test_install.sh1. [install lamp]2. [install lnmp]3. [exit]please input the num you want:
1
Strating installing lamp.....waiting...
LAMP is installed
xiao123@xiao123:~/Downloads/shscripts$ bash ./test_install.sh1. [install lamp]2. [install lnmp]3. [exit]please input the num you want:
2
Strating installing lnmp.....waiting...
LNMP is installed
xiao123@xiao123:~/Downloads/shscripts$

相关文章:

linux shell 入门学习笔记15 shell 条件测试

概念 shell的条件测试目的是得出真和假。 shell 提供的条件测试语法 test 命令 [] 中括号命令 语法*&#xff1a; test条件测试 test命令用来评估一个表达式&#xff0c;他的结果是真&#xff0c;还是假&#xff0c;如果条件为真&#xff0c;那么命令执行状态结果就为0&…...

Apollo(阿波罗)分布式配置安装详解

Apollo&#xff08;阿波罗&#xff09; Apollo&#xff08;阿波罗&#xff09;是携程框架部门研发的分布式配置中心&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的权限、流程治理等特性&#…...

Vue3之组件

何为组件 组件化的概念已经提出了很多年了&#xff0c;但是何为组件呢&#xff1f;组件有啥优势&#xff1f;本文将会做出解答&#xff0c;首先我们需要弄清楚何为组件。在VUE的官网中的解释是&#xff1a; 组件允许我们将 UI 划分为独立的、可重用的部分&#xff0c;并且可以对…...

【网络】套接字 -- UDP

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【网络】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文章…...

Lambda原理及应用

Lambda原理及应用 Lambda介绍 Lambda 是 JDK8 以后版本推出的一个新特性&#xff0c;也是一个重要的版本更新&#xff0c;利用 Lambda 可以简化内部类&#xff0c;可以更方便的进行集合的运算&#xff0c;让你的代码看起来更加简洁,也能提升代码的运行效率。 Lambda语法 非…...

运动耳机推荐、最值得入手的运动耳机清单共享

现在市面上各式各样的运动蓝牙耳机着实让人挑花了眼,怎样才能从纷繁复杂的市场中挑选出专业性、安全性、舒适性等各个方面都做地可圈可点的运动蓝牙耳机可真不是一件易事啊&#xff0c;甚至连不少老朋友都会踩坑&#xff0c;为了能让大家挑到真正的运动蓝牙耳机&#xff0c;为此…...

c盘爆满--如何清理电脑C盘

问题 c盘饱满很多天了&#xff0c;今天终于忍无可忍&#xff0c;开始展开对c盘的处理 c盘的基本处理有两步&#xff0c; 第一步&#xff0c;电脑系统清理 1,c盘右键属性&#xff0c;有个磁盘清理&#xff0c;好像是系统更新的一些缓存资源&#xff0c;可以直接清理 当然这只…...

Nginx配置web服务器及部署反向代理

Nginx配置web服务器及部署反向代理配置web服务器location语法部署反向代理代理转发配置web服务器 项目部署到linux上的静态文件代理给Nginx处理。当访问服务器IP时&#xff0c;可以自动返回静态文件主页。 主配置文件中server块对应的次配置include /etc/nginx/conf.d/*.conf…...

mvvm和mvc

mvvm是model-view-viewmodel的缩写&#xff0c;前端开发的架构模式 m&#xff1a; model&#xff1a;模型&#xff0c;指的是数据和交互业务逻辑 v&#xff1a; view&#xff1a;视图&#xff0c;用户看到的ui界面 vm&#xff1a; viewmodel&#xff1a;视图模型&#xff0…...

JavaScript while 循环

JavaScript while 循环的目的是为了反复执行语句或代码块。只要指定条件为 true&#xff0c;循环就可以一直执行代码块。while 循环while 循环会在指定条件为真时循环执行代码块。语法while (条件){需要执行的代码 }实例本例中的循环将继续运行&#xff0c;只要变量 i 小于 5&a…...

CMU15-445 Project.0总结

在线测试 本地测试 Project #0 - C Primer 以下是Project #0的网址&#xff0c;2022FALL的Project #0本质上是实现一棵字典树&#xff0c;关于字典树的相关内容可以参考C实现字典树。 在本题中&#xff0c;为了存储对应着字符串的任意类型值&#xff0c;题目设计了一个Tri…...

计算机网络题库---错题本

&#xff08;一&#xff09;老生常谈 第一章&#xff1a; 1.什么是计算机网络&#xff1f;其主要功能是什么&#xff1f; 解答&#xff1a; 利用通信设备和线路&#xff0c;将分布在地理位置不同的、功能独立的多个计算机系统连接起来&#xff0c;以功能完善的网络软件实现网…...

【react】react创建项目与引入AntD组件库:

文章目录一、初始化项目&#xff1a;【1】创建项目【2】暴露项目配置文件【3】安装依赖【4】配置less二、快捷键&#xff1a;【1】rcctab三、安装AntD组件库&#xff1a;【1】安装【2】index.js【3】问题&#xff1a;【4】效果&#xff1a;一、初始化项目&#xff1a; 【1】创…...

hook与mixin

看完vue3就开始看vue3的源码&#xff0c;表示很懵~ 刚把rollup打包搞完&#xff0c;这不响应式就接着来了&#xff01;&#xff0c;还是写篇直接使用vue3的博客清清脑吧&#xff01; 什么是hook、mixin&#xff1f; mixin: Vue2中多个组件内存在重复JS业务逻辑&#xff0c;使…...

【C语言】自定义类型

一、什么是自定义类型C语言提供了丰富的内置类型&#xff0c;常见的有int, char, float, double, 以及各种指针。除此之外&#xff0c;我们还能自己创建一些类型&#xff0c;这些类型称为自定义类型&#xff0c;如数组&#xff0c;结构体&#xff0c;枚举类型和联合体类型。二、…...

没有上司的舞会(C++,树形DP)

题目描述 某大学有 nnn 个职员&#xff0c;编号为 1…n1\ldots n1…n。 他们之间有从属关系&#xff0c;也就是说他们的关系就像一棵以校长为根的树&#xff0c;父结点就是子结点的直接上司。 现在有个周年庆宴会&#xff0c;宴会每邀请来一个职员都会增加一定的快乐指数 ri…...

【java基础】static和final关键字的作用及其用法详解

文章目录static关键字静态字段静态方法静态代码块静态内部类final关键字final字段final方法final类static关键字 这个关键字表示静态的&#xff0c;用于不同地方意思不一样 静态字段 如果我们将其作用到字段上&#xff0c;那么该字段为类所拥有&#xff0c;我们使用new关键字…...

#集成学习#:bagging、boosting、stacking和blending

集成学习是一种机器学习方法&#xff0c;旨在提高单个模型的性能和鲁棒性。它基于这样一个假设&#xff1a;通过结合多个模型的预测结果&#xff0c;可以获得更好的预测性能&#xff0c;因为每个模型都可能从数据中提取不同的信息&#xff0c;因此他们的错误也可能是不同的&…...

NCRE计算机等级考试Python真题(一)

第一套试题1、关于数据的存储结构&#xff0c;以下选项描述正确的是A.数据所占的存储空间量B.数据在计算机中的顺序存储方式C.数据的逻辑结构在计算机中的表示D.存储在外存中的数据正确答案&#xff1a; C2、关于线性链表的描述&#xff0c;以下选项中正确的是A.存储空间不一定…...

C#协变逆变

文章目录协变协变接口的实现逆变里氏替换原则协变 协变概念令人费解&#xff0c;多半是取名或者翻译的锅&#xff0c;其实是很容易理解的。 比如大街上有一只狗&#xff0c;我说大家快看&#xff0c;这有一只动物&#xff01;这个非常自然&#xff0c;虽然动物并不严格等于狗…...

算法设计与分析期末考试复习(四)

贪心算法&#xff08;Greedy Algorithm&#xff09; 找零钱问题 假设有4种硬币&#xff0c;面值分别为&#xff1a;二角五分、一角、五分和一分&#xff0c;现在要找给顾客六角三分钱&#xff0c;如何找使得给出的硬币个数最少&#xff1f; 首先选出1个面值不超过六角三分的最…...

qsort函数排序数据 and 模拟实现qosrt函数(详解)

前言&#xff1a;内容包括使用库函数qsort排序任意类型的数据&#xff0c;模拟实现qsort函数&#xff08;冒泡排序的逻辑&#xff09; 我们先了解qsort函数的语法&#xff1a;qsort函数默认按照升序排序数据 void qsort (void* base, size_t num, size_t size,int (*compar)(…...

Mysql视图,存储过程,触发器,函数以及Mysql架构

一,视图视图是基于查询的一个虚拟表 , 也就是将sql语句封装起来, 要用的时候直接调用视图即可, select语句查询的表称为基表, 查询的结果集称为虚拟表, 基本表数据发生了改变, 那么视图也会发生改变, 使用视图就是为了简化查询语句.1.CREATE VIEW view_admin AS SELECT * FROM…...

什么是线程死锁?如何解决死锁问题

死锁&#xff0c;一组互相竞争的资源的线程之间相互等待&#xff0c;导致永久阻塞的现象。 如下图所示&#xff1a; 与死锁对应的&#xff0c;还有活锁&#xff0c;是指线程没有出现阻塞&#xff0c;但是无限循环。 有一个经典的银行转账例子如下&#xff1a; 我们有个账户类…...

C语言几种判断语句简述

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 fals…...

【python学习笔记】:SQL常用脚本(二)

11、四舍五入ROUND函数 ROUND ( numeric_expression , length [ ,function ] ) function 必须为 tinyint、smallint 或 int。 如果省略 function 或其值为 0&#xff08;默认值&#xff09;&#xff0c;则将舍入 numeric_expression。 如果指定了0以外的值&#xff0c;则将截…...

【Linux】进程地址空间

文章目录&#x1f3aa; 进程地址空间&#x1f680;1.写时拷贝与虚拟地址&#x1f680;2.地址空间引入&#x1f680;3.地址空间的意义⭐3.1 虚拟地址寻址⭐3.2 虚拟地址意义&#x1f3aa; 进程地址空间 地址空间&#xff08;address space&#xff09;表示任何一个计算机实体所…...

Qt音视频开发17-vlc内核回调拿图片进行绘制

一、前言 在众多播放器中&#xff0c;支持的种类格式众多&#xff0c;并支持DVD影音光盘&#xff0c;VCD影音光盘及各类流式协议&#xff0c;提供了sdk进行开发&#xff0c;这点是至关重要的&#xff0c;尽管很多优秀的播放器很牛逼&#xff0c;由于没有提供sdk第三方开发&…...

安装配置DHCP

本次实验采用CentOS71.检查在安装DHCP之前先使用rpm命令查看系统中已有的DHCP软件包rpm -qa | grep dhcp由此可知&#xff0c;系统中尚未安装DHCP软件包2.安装我们可以使用yum命令为系统安装DHCP软件包yum -y install dhcp安装完成后再次检查可以看到DHCP软件包3.配置dhcp配置文…...

MarkDown中写UML图的方法

目录序UML图之顺序图顺序图的四个要素关于消息箭头的语法Mermaid中顺序图的简单例子样例用小人表示对象为对象设置别名激活对象UML图之类图类图中常见的关系关于不同类型关系的语法Mermaid中类图的简单例子样例类定义的两种方式为类定义成员双向关系的表示多重性关系的表示UML之…...

电脑网站建设/郑州网站seo外包公司

///题目的大致意思是给你一个大写字母和下滑线组成的字符串&#xff0c;先计算出字符串在内存中实际占用的字节数&#xff0c;每个char占用8个字节 ///然后通过huffman编码后字符串所占的字节数&#xff0c;两者相除即可 #include <cstdio> #include <cstring>#in…...

网站建设设计设计公司/济南seo公司报价

pwd 显示工作路径转载于:https://www.cnblogs.com/baxianhua/p/8942128.html...

一级a做爰片 A视频网站/百度官网认证多少钱

2019独角兽企业重金招聘Python工程师标准>>> 重写Render和RenderFactory类&#xff0c;这里是Beetl的实现方式&#xff0c;如果是JSP&#xff0c;也是同样的方式继承JspRender和JspRenderFactory即可 /*** 继承BeetlRender&#xff0c;实现视图耗时的计算* author 董…...

遂宁市网站建设/优化落实防控措施

之前一直在博客园写作&#xff0c;最近几天才开的知乎专栏&#xff0c;才疏学浅&#xff0c; 谬误之处请不吝于评论区指教&#xff0c;谢谢大家。文章目录单行文本溢出的省略从单行文本溢出省略到多行文本溢出省略多行文本溢出的省略&#xff08;...&#xff09;方案一 ---简单…...

漂亮全屏网站/长春网站建设路

Selenium Grid 介绍 Selenium Grid 是 selenium 提供的一个分布式测试工具&#xff0c;将自动化脚本发布到多个物理机或者虚拟机&#xff08;跨平台、跨浏览器&#xff09;上执行&#xff0c;通过一个中心节点来控制多个设备&#xff0c;也就是在中心节点&#xff08;hub&…...

沈阳网站营销推广/b站视频推广的方法有哪些

如何新建PDF格式文件大多数人所接触到的PDF格式文件&#xff0c;大多是其他格式转换而来的&#xff0c;转换成PDF是为了它的安全、兼容、打英传输方便。也因为大多数软件可转换成PDF&#xff0c;如办公软件或各类设计软件。为现时印刷的主流文件格式。要建立一个新的PDF文件怎么…...