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里面表达式的计算,可以有 ...
随机推荐
- LOCAL_WHOLE_STATIC_LIBRARIES与LOCAL_STATIC_LIBRARIES的区别
在分析Jelly Bean Audio Subsystem的时候,发现HAL层的库audio_policy.xxx.so与其依赖的静态库libaudiopolicy_legacy.a都有audio_p ...
- 一种新型聚类算法(Clustering by fast search and find of density peaksd)
最近在学习论文的时候发现了在science上发表的关于新型的基于密度的聚类算法 Kmean算法有很多不足的地方,比如k值的确定,初始结点选择,而且还不能检测费球面类别的数据分布,对于第二个问题,提出了 ...
- ANDROID – TOOLBAR STEP BY STEP(转)
今年(2014) 的 Google I/O 發表令多數人為之一亮的 Material Design,而 Google 也從「Google I/O 2014」 開始,大家也陸陸續續地看到其更新的 And ...
- 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上
版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...
- SharpGL学习笔记(五) 视口变换
视口变换主是将视景体内投影的物体显示到二维的视口平面上. 在计算机图形学中,它的定义是将经过几何变换, 投影变换和裁剪变换后的物体显示于屏幕指定区域内. 前面我们讨论过的透视投影, 正射投影, 它们都 ...
- EXCEL小技巧:如何统计非空单元格
http://club.excelhome.net/thread-1187271-1-1.html 下面教大家如果用函数统计非空单元格的数量 首先我们来介绍几个统计函数: 1.COUNT(value1 ...
- Linux命令 uname:查看系统与内核相关信息
zh@zh:~$uname --help zh@zh:~$uname -a //所有系统相关的信息
- like to do vs like doing
I like to eat apple 表示我喜欢吃苹果这种食物. I like eating apple 表示我喜欢吃苹果这种食物 或者 表示我喜欢吃苹果这个过程. like to do,表达的是倾 ...
- python获取windows所有com口
import serial import serial.tools.list_ports port_list = list(serial.tools.list_ports.comports()) po ...
- jqGrid 中的editrules来自定义colModel验证规则
editrules editrules是用来设置一些可用于可编辑列的colModel的额外属性的.大多数的时候是用来在提交到服务器之前验证用户的输入合法性的.比如editrules:{edith ...