资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux中if的命令 Linux if命令

Linux篇:shell脚本中if的“-e,-d,-f”

最近在学一段脚本中的if语句中出现了这么一句:

麻阳ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

if [ ! -f "/usr/bin/svnserve" ]

一时没想起这个-f的意思,于是重新翻了之前的笔记,把相关的知识点总结如下:

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真 

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真 

-w filename 如果 filename可写,则为真 

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

filename1 -nt filename2 如果 filename1比 filename2新,则为真。

filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

-eq 等于

-ne 不等于

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

04 字符串变量表达式

if [ $a = $b ]                 如果string1等于string2,则为真,字符串允许使用赋值号做等号

if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真       

if  [ -n $string  ]             如果string 非空(非0),返回0(true)  

if  [ -z $string  ]             如果string 为空,则为真

if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 

逻辑非 !                   条件表达式的相反

if [ ! 表达式 ]

if [ ! -d $num ]               如果不存在目录$num

逻辑与 –a                   条件表达式的并列

if [ 表达式1  –a  表达式2 ]

逻辑或 -o                   条件表达式的或

if [ 表达式1  –o 表达式2 ]

linux 下shell中if的参数

文件表达式

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真

-w filename 如果 filename可写,则为真

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

filename1 -nt filename2 如果 filename1比 filename2新,则为真。

filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

整数变量表达式

-eq 等于

-ne 不等于

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

字符串变量表达式

If [ b ] 如果string1等于string2,则为真

字符串允许使用赋值号做等号

if [ string2 ] 如果string1不等于string2,则为真

if [ -n string ] 如果string 为空,则为真

if [ $sting ] 如果string 非空,返回0 (和-n类似)

if [ ! 表达式 ]

if [ ! -d num

if [ 表达式1 –a 表达式2 ]

if [ 表达式1 –o 表达式2 ]

Linux里面if [ -f mkdir /media/cdrom ]命令作用是什么?

mkdir命令功能:

mkdir是(make directories)的缩写,

其功能为创建一个目录

mkdir命令的语法格式:

mkdir [参数] [目录路径]

------参数说明---

-p:递归创建多级目录

-m:建立目录的同时设置目录的权限

-z:设置安全上下文

-v:显示目录的创建过程

注意事项:

1.当待创建目录已存在,则会提示相应的存在信息,并不会执行创建目录动作

2.mkdir命令可以同时创建多个目录

例:

mkdir命令 的示例分享

----在当前目录下,创建一个子目录dirTest

[root@****** ~]# mkdir dirTest

----在目录/usr/test下建立子目录dirtest

---并设置目录所有者拥有有读、写和执行权限,其他人无权访问

[root@****** ~]# mkdir -m 700 /usr/test/dirtest

---同时创建子目录dirtest1,dirtest2,dirtest3

[root@****** ~]# mkdir dirtest1 dirtest2 dirtest3

---递归创建目录

---此命令会先创建一个test目录

---再创建一个dirtest目录

[root@****** ~]# mkdir -p test/dirtest

Linux里面if -s命令作用是什么?

字符串判断

str1 = str2当两个串有相同内容、长度时为真

str1 != str2  当串str1和str2不等时为真

-n str1  当串的长度大于0时为真(串非空)

-z str1  当串的长度为0时为真(空串)

str1 当串str1为非空时为真

2、数字的判断

int1 -eq int2两数相等为真

int1 -ne int2两数不等为真

int1 -gt int2int1大于int2为真

int1 -ge int2int1大于等于int2为真

int1 -lt int2int1小于int2为真

int1 -le int2int1小于等于int2为真

3 文件的判断

-r file 用户可读为真

-w file 用户可写为真

-x file 用户可执行为真

-f file 文件为正规文件为真

-d file 文件为目录为真

-c file 文件为字符特殊文件为真

-b file 文件为块特殊文件为真

-s file 文件大小非0时为真

-t file 当文件描述符(默认为1)指定的设备为终端时为真

3、复杂逻辑判断

-a     与

-o 或

!  非

EXAMPLE:

[ -a FILE ] 如果 FILE 存在则为真。

[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。

[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。

[ -d FILE ] 如果 FILE 存在且是一个目录则为真。

[ -e FILE ] 如果 FILE 存在则为真。

[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。

[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。

[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。

[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。

[ -p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。

[ -r FILE ] 如果 FILE 存在且是可读的则为真。

[ -s FILE ] 如果 FILE 存在且大小不为0则为真。

[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。

[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。

[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。

[ -x FILE ] 如果 FILE 存在且是可执行的则为真。

[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。

[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。

[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。

[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。

[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。

[ FILE1 -nt FILE2 ] 如果 FILE1 has bee more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。

[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。

[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。

[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。

[ -z STRING ] “STRING” 的长度为零则为真。

[ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。

[ STRING1 == STRING2 ] 如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。

[ STRING1 != STRING2 ] 如果字符串不相等则为真。

[急] linux shell if语句怎么写? 我要显示不在集合中的元素

[急] linux shell if语句怎么写? 我要显示不在集合中的元素

read -p "请输入分数: " score

if [ $score -gt 60 -a $score -lt 70 ]; then

echo "合格"

fi

逻辑判断说明:

-gt (greater than,大于)

-lt (less than, 小于)

-a (and, 逻辑“与”关系)

注意 [ ] 里的空格

java中用两种方式显示集合中的所有元素

import java.util.HashSet;import java.util.Iterator;public class JiHe { public static void main(String[] args) { HashSetString set = new HashSetString(); set.add("天涯"); set.add("明月"); set.add("风云"); for (String str : set) {回圈遍历 System.out.println(str); } System.out.println("=======分割线========="); IteratorString it = set.iterator();Iterator进行遍历 while(it.hasNext()){ System.out.println(it.next()); } }} 输出 风云明月天涯=======分割线=========风云明月天涯

集合中的元素及其表示

集合中每一个物件称为集合的元素

元素就是集合中的所有研究物件,也就是组成集合的所有物件

|A|表示的是集合A中元素的个数,有的书上也用card(A)来表示集合A中元素的个数,但是一般在研究集合中元素个数的时候都是针对有限集来说的

集合中的元素可以是集合么

当然可以!

Linux bash/sh/shell程式设计中的if语句应该怎么写

line="#abcmatch BCD"

REGEXP="^[#]"

# 变数赋值不需要字首$

if [[ $line =~ $REGEXP ]] [[ $line != '' ]]; then

#粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]]

true #shell 不能使用空的if 结构,至少要有一个命令。 可以使用true命令 。

echo yes

else

echo NO

fi

### end

另外Bash 不支援完全的正则表示式。[[ “$line” =~ “$REGEXP” ]] 不能达到你想要的效果。

需要使用echo "$string"| grep -qP /regexp/

Zsh 支援完整的正则表示式, [[ “$line” =~ “$REGEXP” ]] 能达到你想要的效果。

集合中的元素可以是集合吗?

可以 不过高中一般不会太追究这个问题,只要知道这个集合的元素不会包含这个集合本身就可以了。

楼下的给你举个例子,人包含男人和女人

人是一个集合,男人也是一个集合,女人也是一个集合。。

集合通常用?表示,用?表示集合中的元素

用大括号表示

列举法

{a,b,c}

描述法

{x|x满足的条件}

集合中的元素题目

³√x³=x √x²=x的绝对值

1当x=0 只有1个

2当x不=0 有x和-x

至多有2个

若集合,,且,,且,用表示集合中的元素个数,则(  )。

若集合,,且,,且,用表示集合中的元素个数,则(  )。 是什么意思啊?

只表示集合中的元素时用不用{ }

不用

Linux awk 命令详解(二) if 分支 数组

一、awk if分支结构

二、awk数组 for循环

一、awk if分支结构

案例1

awk过滤中的if分支结构

1)单分支

统计/etc/passwd文件中UID小于或等于1000的用户个数:

统计/etc/passwd文件中UID大于1000的用户个数:

统计/etc/passwd文件中登录Shell是“/bin/bash”的用户个数:

2)双分支

分别统计/etc/passwd文件中UID小于或等于1000、UID大于1000的用户个数:

分别统计/etc/passwd文件中登录Shell是“/bin/bash”、 登录Shell不是“/bin/bash”的用户个数:

二、awk数组

注意,awk数组的下标除了可以使用数字,也可以使用字符串,字符串需要使用双引号:

案例3:awk扩展应用

1)awk统计Web访问排名

在分析Web日志文件时,每条访问记录的第一列就是客户机的IP地址,其中会有很多重复的IP地址。因此只用awk提取出这一列是不够的,还需要统计重复记录的数量并且进行排序。

通过awk提取信息时,利用IP地址作为数组下标,每遇到一个重复值就将此数组元素递增1,最终就获得了这个IP地址出现的次数。

针对文本排序输出可以采用sort命令,相关的常见选项为-r、-n、-k。其中-n表示按数字顺序升序排列,而-r表示反序,-k可以指定按第几个字段来排序

实现此案例需要按照如下步骤进行。

步骤一:统计Web访问量排名

分步测试、验证效果如下所述。

1)提取IP地址及访问量

2)对第1)步的结果根据访问量排名

案例4:编写监控脚本

本案例要求编写脚本,实现计算机各个性能数据监控的功能,具体监控项目要求如下:

CPU负载

网卡流量

内存剩余容量

磁盘剩余容量

计算机账户数量

当前登录账户数量

计算机当前开启的进程数量

本机已安装的软件包数量

步骤

实现此案例需要按照如下步骤进行。

步骤一:准备工作

1)查看性能数据的命令

步骤二:编写参考脚本

1)脚本内容如下:


当前文章:linux中if的命令 Linux if命令
文章网址:http://cdkjz.cn/article/dochipi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220