shell if语句和test命令
2023-06-13 09:12:47 时间
大家好,又见面了,我是你们的朋友全栈君。
在shell中if条件判断语句和我们的C、C++、Java等语言是不同的,shell的if语句条件必须用[ ]括起来,另外[ ]里外都需要用空格与周围隔开(例如[ a==b ]),否则报错;另外与if配对的有else if和else,如果我们要写这两个必须后面跟有东西,否则也会报错,在编程中不跟是可以的:
if(a==b)
printf("a=b");
else
{
//什么都没有
}
但是shell中是不可以的,简单的看一下shell里的if、else if和else的简单使用:
#!/bin/bash
a=10
b=20
if [ $a == $b ]#注意[]里外的空格
then #if条件成立后引出后续
echo 'a=b'
elif [ $a -gt $b] #如果使用else if 必须在最后多加一
fi #结束
then echo "a > b" #所有包含if的判断,都需要then引出后续
else#必须有操作,否则只写else报错
echo 'a<b'
fi #if结束标志,必须有
以上就是简单的条件判断语句举例说明,下面我们来看看shell的test命令说明:Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。下面我们接着对这个三个方面进行举例说明: 1、数字:
这里的数值的比较条件分别为:
-eq 是否相等
-ne 是否不等
-gt 是否大于
-ge 是否大于等于
-lt 是否小于
-le 是否小于等于
如果变量名过长取值比较需要加[],如比较val和val1:[val] -eq [val1] 2、字符串比较: 字符串的比较:
= 两个字符串是否相等
!= 两个字符转是否不等
-n 字符串是否为空
-z 字符串是否不空
字符串变量取值规则和数字一样,变量长的话加[]。 3、文件测试:
文件是针对单个文件的:
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真
具体展示就不在这里展示了,最后我们来看看执行结果:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157489.html原文链接:https://javaforall.cn
相关文章
- EFI Shell 命令参考
- Linux scp命令:远程拷贝文件
- Shell脚本编程_shell简单脚本
- Shell脚本编程_shell脚本编程100例pdf
- Java设计模式之命令模式
- 在shell里面嵌套expect命令语句
- MongoDB Shell 命令实例总结【进阶篇】
- shell–2–shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数详解程序员
- Docker Compose命令详解架构师
- 使用Linux export命令提升Shell环境能力(linuxexport命令)
- Linux下玩转IO命令(io命令linux)
- 更改Linux Shell:使用chsh命令(linuxchsh)
- 安全保护Linux用户Shell安全的措施(linux用户shell)
- Linux下chdir命令使用指南(chdirlinux)
- Linux安装Shell快速教程(linux安装shell)
- 命令Mysql数据库导出使用Shell命令(mysql导出shell)
- 探索 Linux 系统日志查询命令(查看linux日志命令)
- Linux du命令用于报告磁盘使用量(linuxdu命令)
- Linux默认Shell:选择合适的工具让你的命令行更好用(linux默认shell)
- 使用Shell实现MySQL监控:快速了解数据库状态!(shell监控mysql)
- 脚本使用Linux启动Shell脚本的步骤(linux启动shell)
- 妙用 Oracle 启动命令调参运行(oracle启动命令)
- Linux命令大变革!一文掌握最新交互式Shell和快捷操作技巧(linux改变命令)
- Linux新手必看!25个常用退出linux的命令大全(退出linux的命令)
- 命令提升效率:学习Linux的常用Shell命令(linux常用shell)
- Linux 文件授权命令:掌握简单易用的权限设置方法(linux文件授权命令)
- Linux命令帮助查找:快速明了的指引(linux命令查找)
- Shell 命令行操作 Redis简单高效(shell 操作redis)