Shell中的表达式及IF
#!/bin/bash
#你值得收藏的四则表达式运算。
val1=1
val2=1
val3=1
val4=1
val5=1
val6=1
val7=1
let val1++
((val2++))
val3=$(($val3+1))
val4=`expr $val4 + 1 `
val5=`bc<<<$val5+1`
val6=`echo "$val6+1"|bc`
val7=$[ $val7+1 ]
echo 'val1=' $val1
echo 'val2=' $val2
echo 'val3=' $val3
echo 'val4=' $val4
echo 'val5=' $val5
echo 'val6=' $val6
echo 'val7=' $val7
大于 -gt (greater than)
小于 -lt (less than)
大于或等于 -ge (greater than or equal)
小于或等于 -le (less than or equal)
不相等 -ne (not equal)
你应该了解的条件控制语句。
#!/bin/bash
#
val=1
if test $val -eq 1;then
echo "hello word!"
fi
#!/bin/bash
#
val=1
if [ $val -eq 1 ];then
echo "hello word!"
fi
#!/bin/bash
#
val=1
[ $val -eq 1 ] && {
echo "hello word!"
}
#[]//不支持正则表达式,竟然是系统命令。
#[[]]//支持正则表达式,却不是系统命令。
#!/bin/bash
val=1
[[ $val -eq 1 ]] && {
echo "hello word!"
}
#!/bin/bash
#输入一个用户判断该用户是否存在。
#read -p "please input your user:" USER
#a=`cut -d ":" -f1 /etc/passwd| grep "$USER"`
while true
do
if [ "$USER" == "$a" ];then
echo "yes!this user is exit!!!"
break
else
echo "this user no exit!!!"
read -p "please input it again:" USER
a=`cut -d ":" -f1 /etc/passwd| grep "$USER"`
fi
done
简单shell 案例,求3个数中的最大值。
read a;read b; read c;
max=$a
if [ $max -lt $b ];then max=$b;fi
if [ $max -lt $c ];then max=$c;fi
echo $max
echo "max:${max},a:${a},b:${b},c:${c}"

注意:分号只是为了体现换号操作,像我们上面写的IF,就没有分号,因为有换行。
Shell中的表达式及IF的更多相关文章
- shell中规则表达式与特殊符号
在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔: 符号 意义 * 代表『 0 个到无穷 ...
- Linux shell中的一个问题 ${}带正则匹配的表达式
目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...
- shell编程系列17--文本处理三剑客之awk动作中的表达式用法
shell编程系列17--文本处理三剑客之awk动作中的表达式用法 awk动作表达式中的算数运算符 awk动作中的表达式用法总结: 运算符 含义 + 加 - 减 * 乘 / 除 % 模 ^或** 乘方 ...
- E2.在shell中正确退出当前表达式
E2.在shell中正确退出当前表达式 优雅退出当前表达式 在shell里面输出复杂的多行表达时,经常由于少输入一个引号,一直无法退出当前的表达式求值,也没有办法终止它,以前只能通过两次Ctrl+C结 ...
- shell 中的与、或表达式
今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && ...
- 『忘了再学』Shell基础 — 28、AWK中条件表达式说明
目录 1.AWK的条件表达 2.条件表达式说明 (1)BEGIN (2)END (3)关系运算符 (4)说明AWK中条件表达式的执行过程 (5)AWK中使用正则表达式 (6)A~B练习 1.AWK的条 ...
- shell中各种括号的作用()、(())、[]、[[]]、{}
一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有 ...
- Linux shell中的符号
.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用. 括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空 ...
- shell中的循环
shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有 ...
随机推荐
- mybatis 之 parameterType="HashMap"参数包含list
/** * 获得人气组合商品详情 * @param paramMap * @return */ public List<Goods> getCheckGoodsCombination(Ma ...
- 手机CPU天梯图2018年5月最新版
话不多说,以下是2018年5月最新的手机CPU天梯图精简版,由于最近一两个月,芯片厂商发布的新Soc并不不多,因此这次天梯图更新,主要是来看看今年主流手机厂商都流行使用哪些处理器. 手机CPU天梯图2 ...
- HTML5和CSS3扁平化风格博客(基础篇)
多学一点总是好的~ 自始至终都觉得的css和html效果比较美观,于是在看慕课网教程时,自己也跟着敲了深爱着的前端代码 这部分分为两部分:①基础篇:http://www.imooc.com/learn ...
- setcursor 与 showcursor
Windows为鼠标光标保存了一个「显示计数」.如果安装了鼠标,显示计数会被初始化为0:否则,显示计数会被初始化为-1. 只有在显示计数非负时才显示鼠标光标.要增加显示计数,呼叫:ShowCursor ...
- codeforces水题100道 第二十五题 Codeforces Round #197 A. Helpful Maths (Div. 2) (strings)
题目链接:http://www.codeforces.com/problemset/problem/339/A题意:重新组合加法字符串,使得按照1,2,3的顺序进行排列.C++代码: #include ...
- Qt下libusb-win32的使用(一)打印设备描述符
主要是在前一篇的基础上,学习libusb-win32的API使用.程序很简单,就是打印指定USB设备的设备描述符(当然其他描述符也是可以的). #include "testlibusb.h& ...
- 使用Autolayout xib实现动态高度的TableViewCell
http://my.oschina.net/u/2360693/blog/481236?p={{totalPage}} 创建Xib文件 首先将Cell做好布局,调整到满意的位置和宽度,然后开始做Aut ...
- CodeFrist、ModelFirst、DatabaseFirst
一.CodeFirst 使用System.Data.Entity.DbContext与System.Data.Entity.DbSet构建的数据模型,没有可视化文件但只有实体类的称为CodeFirst ...
- github相关资料记录
github官方配ssh api:https://help.github.com/articles/generating-ssh-keys 简书hexo静态博客搭建:http://www.jiansh ...
- html css的内联样式 内部样式表 外部样式表的优先级
http://www.w3school.com.cn/html/html_css.asp 这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式,但是嵌入式>外部式 ...