1. 现归纳一下shell中的运算符:   
    +:对两个变量做加法。
    -:对两个变量做减法。
    *:对两个变量做乘法。
    /:对两个变量做除法。
    **:对两个变量做幂运算。
    %:取模运算,第一个变量除以第二个变量求余数。
    +=:加等于,在自身基础上加第二个变量。
    -=:减等于,在第一个变量的基础上减去第二个变量。
    *=:乘等于,在第一个变量的基础上乘以第二个变量。
    /=:除等于,在第一个变量的基础上除以第二个变量。
    %=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量。

程序:实现数学函数S=3(xy)+4x2+5y+6的运算。在程序中以位置变量的方式输入x与y的值。如下:

   #/bin/bash
#实现S=(xy)+4x**+5y+6的运算 read -p 'input x: ' x
read -p 'input y: ' y
#S = $[*x*y]+$[x***]+$[*y]+
S=$[*x*y+x***+*y+]
echo $S

程序 一

2. 运算常用的命令:

a. 用let指示数学运算。可以先将运算的结果赋值给变量b,运算命令是b=let 1 + 2。然后用echo $b来输出b的值。如果没有let,则会输出1+2。

b. 用$[]表示数学运算。将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算。例如命令echo $[1+2],将输出结果3。

c. 用expr改变运算顺序。可以用echo `expr 1 + 2`来输出1+2的结果,用expr表示后面的表达式为一个数学运算。需要注意的是,`并不是一个单引号,而是“Tab”键上面的那个符号。
    d. 用bc表示数学运算。可以结合echo命令一起使用,例如:echo “3.21*2” | bc 来计算 3.21*2 这种浮点运算

e. 使用awk表示数学命令.如:echo 2 | awk '{print $1**32}'

3、关系操作符

<  小于

>  大于

>=  大于等于

<=  小于等于

==  等于

!=  不等于

&&  逻辑与(都对)  

||  逻辑或(任意对,从左往右)

$ 符号在Linux系统里面用于获取一个变量的值,例如:
#!/bin/bash --------指定编译shell环境为bash
STR="Hello World!"----设置STR的变量值为Hello World!
echo $STR ------ 用echo命令读取STR变量的数值。这里如果不加$, 输出结果是STR,加上$,输出结果就是Hello World!。 测试!!!
    比较数字,使用(( )) ###数字与比较符号可以紧邻着
    其他测试使用 [[ ]]  ###里面中括号前后空一格,语法生效
    包含数字比较的混合测试,使用标准语法
程序:验证登录用户与密码是否正确?
验证用户名与密码

  程序:判断文件类型。

判断文件类型

  程序:查询成绩。

   #!/bin/bash

   read -p 'input your score: ' score

   if [ $score -eq  ];then
echo '完美'
elif [ $score -ge -a $score -lt ];then
echo '优秀'
elif [ $score -ge -a $score -lt ];then
echo '良好'
elif [ $score -ge -a $score -lt ];then
echo '再接再厉'
else
echo '别捣乱!' fi

查询成绩

  程序:猜年龄。

   #!/bin/bash
oldboyage= read -p 'input oldboy age: ' age if [ $age -eq $oldboyage ];then
echo '你真牛逼!'
elif [ $age -gt $oldboyage ];then
echo '太大了!'
elif [ $age -lt $oldboyage ];then
echo '太小了'
fi

猜年龄

  程序:while循环。

   #!/bin/bash

   i=

   while ((i<))
do
echo $i
((i++))
sleep $i
done

while循环1

  程序:for循环。

for循环1

   #!/bin/bash

   for i in {..}
do
echo $i
sleep $i
done


1、如何使用vi/vim显示行号(永久):

Day 12 shell语法及程序若干的更多相关文章

  1. 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点

    css3拓展: <display:none>  将某个元素隐藏       <visibility:hidden>  也是将某个元素隐藏 <display:block&g ...

  2. 读完学会shell语法,shell脚本80%已经学会

    第3章 shell语法讲解 3.1 shell运算讲解 3.1.1 运算符的讲解 3.1.2 shell运算方式的讲解 3.1.2.1 $(())运算 [root@m01 test_init] # a ...

  3. 排序算法--希尔排序(Shell Sort)_C#程序实现

    排序算法--希尔排序(Shell Sort)_C#程序实现 排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题.例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难 ...

  4. Shell语法规范

    ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...

  5. shell语法习题练习进阶版

    第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...

  6. Web 开发人员必备的12款 Chrome 扩展程序

    之前已经分享过一些帮助 Web 开发人员和设计师的 Chrome 扩展,这次我们继续展示一组很有用的 Chrome 应用程序.这些免费的 Chrome 应用程序可以简化您的工作流程,为了加快您的工作流 ...

  7. makefile中的shell语法

    在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是 ...

  8. 教你用shell写CGI程序

    以前用shell写过一些cgi的例子.今天向大家介绍一下. CGI是一种接口的标准,并不区分编程语言,也就是说,CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.CGI会将标准输 ...

  9. Hadoop学习笔记之HBase Shell语法练习

    Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...

随机推荐

  1. 在Xcode中编辑运行 Python 脚本

    http://www.zhihu.com/question/19872198 打开Xcode,File->New->Project选中OS X下的Other点击External Build ...

  2. TCP头校验和计算算法详解

    我就不管是按“位”(bit)取反相加,还是 按“1的补码”相加了,总之就是把需要进行校验的“字串”加(+)起来,把这相加的 结果取反当做“校验和” (Checksum), 比如,相加的结果是0101, ...

  3. 【chm】【windows】win7下chm打开不显示内容

    修改chm属性里面,‘解除锁定’即可.点击chm文件,右键选择属性,点击最下方的解除锁定,保存,退出重新打开即可. ​

  4. linux中的硬盘及flash操作

    磁盘操作是块设备的必备操作,需要认真掌握. 一.硬盘 1.硬盘文件 默认串口硬盘的设备文件为sda(第一块硬盘).sdb(第二块硬盘).... 默认并口硬盘的设备文件为hda(第一块硬盘).hdb(第 ...

  5. Python网络爬虫(Get、Post抓取方式)

    简单的抓取网页 import urllib.request url="http://google.cn/" response=urllib.request.urlopen(url) ...

  6. java 邮箱验证

    1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.html 2.将字符串通过MD5进行 ...

  7. Knockout v3.4.0 中文版教程-8-计算监控-纯计算属性

    4.纯计算属性 纯计算监控在KO 3.2.0中开始引入,比大多数应用程序使计算监控有更大的性能提升和内存优化.这是因为在自身没有订阅的时候不会保持订阅状态.特性如下 阻止内存泄露 - 避免在应用程序里 ...

  8. Python第三方库之openpyxl(7)

    Python第三方库之openpyxl(7) 散点图 散点或xy图表类似于一些折线图.主要的区别在于,一个系列的值被绘制在另一个值上.当值未排序时,这是有用的. from openpyxl impor ...

  9. 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。

    /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x ...

  10. Leetcode 327.区间和的个数

    区间和的个数 给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper.区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的 ...