shell编程(二)之算术运算
bash中的算术运算
+、-、/、%、*
实现算术运算
1. let var=算术表达式
2. var=$[算术表达式]
3. var=$((算术表达式))
4. var=$(expr arg1 arg2...)
乘法符号有些场景需要转义
bash有内建的随机数生成器:$RANDOM
增强型赋值
+=,-=,/=, %=
自增、自减
比如自增: let var++
练习1.写一个脚本
计算/etc/passwd文件中的第10个用户和第20用户的ID之和
#!/bin/bash
userId1=$(head - /etc/passwd | tail - | cut -d: -f3)
userId2=$(head - /etc/passwd | tail - | cut -d: -f3)
useridsum=$[$userId1+$userId2]
echo "uid sum is $useridsum"
练习2.写一个脚本
传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和
#!/bin/bash
spaceline1=$(grep "^[[:space:]]*") $ | wc -l)
spaceline2=$(grep "^[[:space:]]*") $ | wc -l)
echo "$[$spaceline1+$spaceline2]"
练习3.统计/etc, /var, /usr目录共有多少个一级子目录和文件
#!/bin/bash
fnum1="$(ls /usr | wc -l)"
shell编程(二)之算术运算的更多相关文章
- shell编程(二)
case判断 前面了解了shell编程的if判断,其实除了if判断,还有case判断. case语法: case VAR in case1) command1 ;; case2) command2 ; ...
- linux运维、架构之路-shell编程(二)
一.流程控制语句 1.if语句 ①if单分支:一个条件一个结果 1 2 3 4 if 条件 then 命令 fi ②if双分支:一个条件两个结果 1 2 3 4 5 6 if 条件 ...
- Shell编程(二)——shell的基础知识及常用命令
shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?匹配一个字符 5 输入输出重定向 ...
- Linux上天之路(十七)之Shell编程二
一.shell常用工具 grep 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Exp ...
- Linux Shell编程二
以"``"符号包含的内容不是字符串,而是代表这是一个shell命令. echo "today is" `date` 前面是字符,后面`date`表示执行date ...
- Shell编程二
告警系统需求分析 1.(虽然之前我们学习了zabbix,但有时候也不能满足我们的需求,比如比较冷门的监控项目需要写自定义脚本,或者服务器网络有问题,没有办法将客户端的数据发送到服务端.) 程序架构: ...
- 【shell】shell编程(一)-入门
如今,不会Linux的程序员都不意思说自己是程序员,而不会shell编程就不能说自己会Linux.说起来似乎shell编程很屌啊,然而不用担心,其实shell编程真的很简单.背景 什么是shell编程 ...
- shell编程基础(二): shell脚本语法之分支语句和循环语句
一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...
- Shell脚本系列教程二: 开始Shell编程
Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...
随机推荐
- mysql数据库的查询,添加,删除,还原,备份
18章数据mariadb数据库 1.setup 配置网卡centos6.52.nmtui 网卡图形配置界面3.yum install mariadb mariadb-server4.systemctl ...
- 解决spring 用@Value注入配置时候出现中文乱码问题
只要是乱码,很明显需要指定编码格式,为utf-8 <!-- 注解使用properties --> <bean id="configProperties" clas ...
- Python的基本语法2
一.运算符 # 算术运算符, +, -, *, /, //, %, **, 注意//为整除 # 赋值运算符, =, +=, -=, *=, /=, //= ,%=, **= # 比较运算符, ==, ...
- RedHat Enterprise Linux 6.4使用网易Centos 6 的yum源
1.首先到http://mirrors.163.com/centos下载软件包 x86 地址:http://mirrors.163.com/centos/6/os/i386/Packages/ x86 ...
- 2018-2019-2 《网络对抗技术》Kali安装 Week1 20165236
2018-2019-2 <网络对抗技术>Kali安装 Week1 20165236 一.kali 下载 安装 网络 共享 软件源 二.安装步骤 1.官网上下载kali Linux: 2.参 ...
- 线程等待(java)
定义一个对象: private Object objWaiter = new Object(); 在需要等待的地方加等待锁: synchronized (objWaiter) { objWaiter. ...
- Python基础之 函数名,闭包,和迭代器
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- Mac OS 安装robotframework
1,查看当前系统默认的Python路径 which python1==> /usr/bin/python 2,查看当前python 版本 python1==> Python 2.7.10 ...
- 2017 6 2php用PDO链接数据库前测试
try { $dsn = "mysql:dbname=test;host=127.0.0.1";//链接mysql的DSN(数据库驱动) $user = 'root';//Mysq ...
- 排序之选择排序(SelectSort)
package com.sort; /* * 选择排序 * 把第一位与其他数进行比较,这样每轮比较都会出现一个最大值或最小值 * 根据需要让升序或降序排列 */ public class Select ...