美文网首页
bash脚本条件判断

bash脚本条件判断

作者: liyin_d64b | 来源:发表于2018-10-28 11:49 被阅读0次
1.bash中实现条件判断

条件测试类型包括:
整数测试
字符测试
文件测试

条件测试的表达式
[ expression ] (要加空格)
[[ expression ]] 
test expression 
整数比较:

-eq:测试两个整数是否相等

$ A=3
$ B=6
$ [ $A -eq $B ]
$ [ $A -eq $B ]
$ echo $?
1 #1为假,0为真

$ B=3
$ [ $A -eq $B ]
$ echo $?
0

-ne:测试两个整数是否不等,不等为0,等为1
-gt(greater than):一个大于另一个
-lt(lesser than): 一个小于另一个
-ge: 大于或等于
-le:小于或等于

逻辑关系:

and: && 第一个条件为假时,后面都不执行了,称为短路。 若第一个为真,后面必须判断
or: || 第一个条件为真时,后面就不执行了 若第一个为假,后面则必须判断

若用户存在则hello world
$ id jmzeng &> /dev/null && echo "Hello world"
Hello world
$ id user1 &> /dev/null && echo "Hello"
若用户不存在则添加用户  
$ ! id user7 && useradd user7
id: ‘user7’: no such user
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
用或命令(前面为真后面则不执行)
$ id user7 || useradd user7
id: ‘user7’: no such user
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
脚本判断
#!/bin/bash
lines=`wc -l /etc/passwd` #命令结果保存在lines,` `反引号为引用结果

finallines=`echo $lines | cut -d' ' -f1`
echo "it has $finallines lines" 

[ $finallines -gt 100 ] && echo "is a big data" || echo "is a small data"
$ ./test.sh 
it has 85 lines
is a small data
练习题

如果用户不存在,添加并保存密码,否则显示存在

$ ! id user1 && useradd user1 && echo "user1" | passwd --stdin user1  || echo "user1 exists"
id: ‘user1’: no such user
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.

$ ! id user1 &> /dev/null  && useradd user1 && echo "user1" | passwd --stdin user1  || echo "user1 exists"
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
# &> /dev/null 不要这些信息
友情阅读推荐:

生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!

B站链接:https://m.bilibili.com/space/338686099

YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists

生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA

学徒培养:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw

相关文章

  • 05_03_bash脚本编程之二 条件判断-05_04_bas

    05_03_bash脚本编程之二 条件判断 bash中如何实现条件判断 条件测试类型分为: ...

  • bash脚本编程-条件判断

    bash中 :条件测试类型: 整数测试,字符测试,文件测试 条件测试表达式:[ expreession],[[e...

  • bash脚本条件判断

    1.bash中实现条件判断 条件测试类型包括:整数测试字符测试文件测试 整数比较: -eq:测试两个整数是否相等 ...

  • 05_03_bash脚本编程之二 条件判断  、05_04_b

    bash脚本编程之二、条件判断 条件判断: 如果用户不存在 添加用户,给密码并显示添加成功; 否则...

  • linux基础(三)

    检查脚本语法 输入输出重定向 bash中的算数运算 shell中条件判断 练习:判断两个数大小

  • 2021-11-18 bash脚本编程 二 条件判断

    条件判断:如果……否则…… bash中如何实现条件判断? 条件测试类型:整数测试 字符测...

  • shell基础

    1,bash 自定义变量 变量替换之匹配截取: bash测试 bash判断 条件判断 if if代码返回0表示真,...

  • bash高级进程

    bash脚本编程: 函数:结构化编程及代码重用function 选择执行: 多分支 逐条件进行判断,第一次遇为“真...

  • note_16.1_shell脚本continue、break、

    bash脚本编程:循环执行 for, while, until 进入条件:for:列表元素非空;while:条件测...

  • 8-shell脚本基础

    本章内容 ◆ 编程基础◆ 脚本基本格式◆ 变量◆ 运算◆ 条件测试◆ 条件判断if◆ 条件判断case◆ 配置用户...

网友评论

      本文标题:bash脚本条件判断

      本文链接:https://www.haomeiwen.com/subject/jtdptqtx.html