首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell 编程记录

d /tmp/mydir ] -f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename为符号链接,...则为真 [ -L /usr/bin/grep ] -r filename 如果 filename可读,则为真 [ -r /var/log/syslog ] -w filename 如果 filename...可写,则为真 [ -w /var/mytmp.txt ] -x filename 如果 filename可执行则为真 [ -L /usr/bin/grep ] filename1-nt filename2...字符串比较时可以把右边的作为一个模式(这是右边的字符串不加双引号的情况下。如果右边的字符串加了双引号,则认为是一个文本字符串。),而不仅仅是一个字符串,比如[[ hello == hell?...16 case语句 case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列 ;; esac 17 for 语句 for

58120
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 之 shell 比较运算符

为目录,则为真[ -d /tmp/mydir ]-f filename如果 filename 为常规文件,则为真[ -f /usr/bin/grep ]-L filename如果 filename 为符号链接...,则为真[ -L /usr/bin/grep ]-r filename如果 filename 可读,则为真[ -r /var/log/syslog ]-w filename如果 filename 可写,...则为真[ -w /var/mytmp.txt ]-x filename如果 filename 可执行则为真[ -L /usr/bin/grep ]filename1 -nt filename2如果 filename1...-x文件名 如果文件存在且可执行则为真。   -s文件名 如果文件存在且至少有一个字符则为真。   -d文件名 如果文件存在且为目录则为真。   ...if条件是为真的时候执行如果使用!运算符,那么原表达式必须为false if ! test $var1 !

1.6K10

Linux中编写Shell脚本

(点号)读入或加载指定的Shell脚本文件,然后依次执行指定的Shell脚本中的语句。这些语句将在当前父 shell 脚本进程中执行(其他几种模式都会启用新的进程执行该脚本进程)。...3、利用 expr 计算字符串的长度 bc 命令的用法 bc 是UNIX/Linux下的计算器,除了作为计算器来使用,还可以作为命令行计算工具使用 交互模式 在shell命令行直接输入 bc 及能进入...f2新则为真 10 f1 -ot f2 ,ot的全拼为older than 文件f1比文件f2旧则为真 注:(())不能用于文件测试,文件测试一般常用的是 [] 字符串测试操作符 # 常用字符串测试操作符...说明 1 -n 若字符串长度不为0,则为真 2 -z 若字符串长度为0,则为真 3 “字符串1” == “字符串2” 若字符串1等于字符串2,则为真 4 “字符串1” !...= “字符串2” 若字符串1不等于字符串2,则为真 注:== 和 !

7.1K10

《鸟哥的linux私房菜》基本命令笔记

如果两者一致,返回真值,否则返回假值。 -name pattern 条件表达式,检查文件名是否和模式pattern相同。pattern可以用正则表达式给出。必要时使用引号。...如果当前的文件的类型是t,返回真值,否则为假。 -user usr 条件表达式,检查当前的文件的所有者或UID是否是usr。如果两者一致,返回真值,否则为假。...如果成功地执行了cmd命令,返回真值,否则为假。 -print 操作表达式,将当前的文件名送到标准输出设备显示,返回值常为真。 find .  -name ‘abc*’-print find .  ...grep命令可以在它的输入中搜索指定的字符串模式(Pattern)。grep命令的输出是包含输入中指定的字符串模式的行。...多行模式 更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。 忽略大小写 指定不区分大小写的匹配。

2.3K60

shell脚本编写手册(2021重编)

# 执行上一个指令的返回值 } 变量引用技巧{ ${name:+value} # 如果设置了name,就把value显示,未设置则为空...expr1 -o expr2 # 如果 expr1 或 expr2 评估为真,则为真 } 两值比较{ 整数 字符串...1,结果为1.否则为0 var^str # 异或运算符,比较var和str对应位,对于二进制来说如果二者互补,结果为1,否则为0 var|str...*/匹配模式空间中所有内容,匹配到就执行D,没匹配到就结束D) N # 追加下一个输入行到模式空间后面并在第二者间嵌入一个换行符,改变当前行号码,模式匹配可以延伸跨域这个内嵌换行...,如果删除后,模式空间中还有剩余行,则返回 D 之前的命令,重新执行如果 D 后,模式空间中没有任何内容,则将退出。

3.2K30

Shell 编程(八):学习总结

命令组:括号中的命令将会新开一个子 shell 顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。...若是逻辑判断,表达式exp为真则为1,假则为 0 运行 C语言 代码:(( )) 中的运算符、表达式符合C语言运算规则,都可用在 ((exp)) 中,甚至是三目运算符。...只要括号中的表达式符合 C语言 运算规则,可以直接使用 for((i=0;i<5;i++)),如果不使用双括号, 则为 for i in `seq 0 4`或者 for i in {0..4} 单中括号...[[ ]] 有四种用途:关键字、字符串模式匹配、条件判断、单独的元素 关键字:[[ ]] 结构比 [ ] 结构更加通用。...字符串模式匹配:字符串模式匹配,使用=~操作符时甚至支持 shell 的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell?

1.4K20

Linux Shell一些常用记录(一) 顶

终端打印 echo ''单引号内$变量无效,""双引号内$变量有效,``反撇号为可执行命令,并且可以把命令结果给变量赋值 #!...重定向将输入文本通过追加模式保存到文件: echo "this is a text line one" >> test.txt 写入到文件之后,会追加到文件结尾。...use=`df -hT | grep "/boot" | awk '{print $6}' | cut -d "%" -f1` if [ $use -gt 80 ]; then echo ".../bin/bash #判断iptables是否在运行,如果已经在运行提示信息,如果没有开启它。 service iptables status &> /dev/null if [ $?...,测试整数等 测试文件 格式 [ 操作符 文件或目录 ] 操作符 -d:测试是否为目录,是则为真(Directory)-e:测试目录或文件是否存在,存在则为真(Exist)-f:测试是否为文件,是则为

56820

Bash脚本编程(原创)

如果用sh来调用bash,bash在启动后进入posix模式,它会尽可能模仿sh历史版本的启动行为,以便遵守POSIX标准。...当bash以POSIX模式启动时(例如带有--posix参数)它使用POSIX标准来读取启动文件。在此模式下,交互shells扩展变量ENV,从以此为文件名的文件中读取命令并执行。...字符测试:字符串比较 双目: >: 大于则为真 <: 小于则为真 >=:大于等于则为真 <=:小于等于则为真 ==:等于则为真 !...如果 trap 后面跟着一个用引号引用的命令,则在接收到指定的信号数字时就执行这个命令。Shell 共读取两次命令字符串,一次是在设置 trap 时,一次是在信号到达时。...如果命令字符串被双引号引用,在第一次 trap 设置时就执行变量和命令替换。如果是用单引号引用,那么等到信号到达 trap 开始执行时,才运行变量和命令替换。

1.3K30

【一通百通】Bash的单双括号建议:多用], 少用[]

:[ is a shell builtin 1.测试时逻辑操作符 -a 逻辑与,操作符两边均为真,结果为真,否则为假。...str1 在字符串str2 之后 3.常见数值测试 int1 -eq int2 如果int1 等于int2,则返回真 int1 -ne int2 如果int1 不等于int2,则返回真 int1 -lt...②支持字符串模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。...比如,&&、||、 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。 ④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。...比如,&&, ||, 操作符能够正常存在于[[]]条件判断结构中, 但是如果出现在[ ]结构中的话, 会报错。

54420

shell脚本编程之路1

in {0..4},再如 if((i<5)),如果不使用双括号,则为if[i<5)),如果不使用双括号,则为if[i -lt 5 ] 3.单中括号,方括号[] bash 的内部命令: [和test是等同的...支持字符串模式匹配: 使用=~操作符时甚至支持shell的正则表达式 字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell?...比如:&&、||、 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。 比如:可以直接使用if [[ a != 1 &&a != 1 &&a !...%%pattern} #如果是,就从命令行把把variable中的内容去掉 右边最长 的匹配模式 ${var#pattern} #如果是,就从命令行把variable中的内容去掉 左边 最短的匹配模式...${var##pattern} #如果是,就从命令行把variable中的内容去掉 左边 最长的匹配模式 # 字符串提取和替换 ${var:num} #shell在var中提取第num

2.7K20

Linux常用命令速查-文件管理

r,没有权限则为- 第三个字符表示所有者写权限,如果有权限则为w,没有权限则为- 第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为- 第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为...- 第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为- 第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为- 第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为...- 第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为- 第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为- 修改权限 chmod abc file 其中a,b,c各为一个数字...◆ 统计过滤 ◆ 过滤 grep 常用参数: -E 开启扩展的正则表达式。 -i 忽略大小写 -v 只打印没有匹配的,而匹配的反而不打印。...-n 显示行号 -w 被匹配的文本只能是单词,而不能是单词中的某一部分 -c 显示总共有多少行被匹配到了,如果同时使用-cv选项是显示有多少行没有被匹配到。 -o 只显示被模式匹配到的字符串

1.4K00

Linux shell编程常用方法总结

shell命令有两种形式:内部命令:内置在源码中,即存在内存中,比如:cd、echo;外部命令:存在于文件系统中某个目录下的单独的程序。...-c 文件存在且为字符型特殊文件 -b 文件存在且为块特殊文件 字符串测试 “= 等于则为真 !...= 不相等则为真 -z 字符串为空串为真 -n 字符串为非空串为真 数值测试 “-eq 等于 -ne 非等于 -lt 小于 -gt 大于 -le 小于等于 -ge 大于等于 测试时使用逻辑操作符...-a -o if [ -x file1 -a -x fiel2 ] fiel1 file2 都存在且可执行则为真 混合条件: && || case语句 case $变量名 in 模式1)...-v:在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本,如果有错误,也会给错误提示。 -x:将执行的脚本内容及输出显示到屏幕上。

2.7K90

Linux Shell 基本语法

语法:ps [选项] 1.9. kill命令 删除执行中的程序 语法:kill [选项] PID 1.10. grep命令 搜寻输出的特定文字 语法:grep 字符串 例: ps aux | grep...则为真 [ -f /usr/bin/grep ]   -L filename        如果 filename 为符号链接,则为真   [ -L /usr/bin/grep ]   -r filename...则为真            [ -w /var/mytmp.txt ]   -x filename         如果 filename 可执行则为真           [ -L /usr/bin.../grep ]   filename1 -nt filename2 如果 filename1 比 filename2 新,则为真 [ /tmp/install/etc/services -nt /etc.../bzImage ] 2.19.2 字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)   -z string               如果 string 长度为零,则为

2.7K31

Linux Shell 基本语法

语法:ps [选项] 1.9. kill命令 删除执行中的程序 语法:kill [选项] PID 1.10. grep命令 搜寻输出的特定文字 语法:grep 字符串 例: ps aux | grep...filename       如果 filename 为目录,则为真       [ -d /tmp/mydir ] -f filename        如果 filename 为常规文件,则为真 [...-f /usr/bin/grep ] -L filename        如果 filename 为符号链接,则为真   [ -L /usr/bin/grep ] -r filename          ...[ -w /var/mytmp.txt ] -x filename         如果 filename 可执行则为真           [ -L /usr/bin/grep ] filename1...-ot filename2 如果 filename1 比 filename2 旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ] 2.19.2 字符串比较运算符

1.8K60

shell中各种括号的作用(上)

只要括号中的表达式符合C语言运算规则,比如可以直接使用for((i=0;i<5;i++)), 如果不使用双括号, 则为for i in seq 0 4或者for i in {0..4}。...如果实在想用,对于字符串比较可以使用转义形式,如果比较”ab”和”bc”:[ ab < bc ],结果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或使用-a 和-o 表示。 3.字符范围。...2.支持字符串模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。...比如,&&、||、 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。比如可以直接使用if [[ $a != 1 && $a !...= 2 ]], 如果不适用双括号, 则为if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。

87420
领券