shell的变量以及常见符号

常见变量

不同于其它语言需要先声明变量,shell的变量直接使用

eg:      a=15

调用变量的话 $a 或者 ${a}

$? #判断上一条命令执行的是否成功 0成功 返回其他 错误

写一个脚本做演示

执行

$0 #返回脚本的文件名称

$1-$9 #返回对应的参数值

$* #返回所有的参数值是什么

$# #返回参数的个数和

常见的几个符号

> #会覆盖原有的内容

^c是结束符号

>> #不会覆盖原有的内容

; #执行多条命令

不加;报错

| #管道符

&& #前面的命令执行成功,后面的才可以执行

|| #前面的命令执行失败,后面的才可以执行

"" #会输出变量值

'' #输出本身

`` #输出命令结果 eg:a=`date`;echo $a   (反撇号)

2>/dev/null #错误输出到无底洞(垃圾桶)
1>/dev/null #正确输出到无底洞

秒变计算器的运算符

整数:

加:(加号两边一定要加空格 否则是表达式)

expr 12 + 6                     expr $a + $b

echo $[12 + 6]                 echo $[a + b]

echo $((12 + 6))             echo $((a + b))

减:

expr 12 - 6                    expr $a - $b

echo $[12 - 6]               echo $[a - b]

echo $((12 - 6))            echo $((a - b))

乘:

expr 12 \* 6                   expr $a \* $b

echo $[12 * 6]               echo $[a * b]

echo $((12 * 6))            echo $((a * b))

除:

expr 12 / 6                   expr $a / $b

echo $((12 / 6))           echo $((a / b))

echo $[12 / 6]              echo $[a / b]

求余:

expr 12 % 6                  expr $a % $b

echo $((12 % 6))          echo $((a % b))

echo $[12 % 6]              echo $[a % b]

小数:

上述方式对小数无效

内置的  ‘’bc计算器”  计算

法一:

法二:

保留小数:

保留多少位小数可以通过scale
但是scale只对除法,取余数,乘幂 有效,对加减没有效(用/1变成除法)。

echo "scale=2;(0.2+0.3)/1" | bc #计算出0.2+0.3的和并保留俩位小数(整数位为0,此时bc计算器会省略掉个位数的0)
echo "scale=2;(1.2+1.3)/1" | bc #计算出1.2+1.3的和并保留俩位小数

常见的条件判断

语法:

[ 判断表达式 ]

文件(夹)或者路径: 
  -e 目标是否存在(exist)
  -d 是否为路径(directory)
  -f 是否为文件(file)

[ -e foer.sh ] || touch foer.sh   #判断当前目录下是否有foer.sh这个文件,假如没有就创建出foer.sh文件

权限:
 -r 是否有读取权限(read)
 -w 是否有写入权限(write)
 -x 是否有执行权限(excute)

[ -x 123.txt ] && echo '有执行权限'

整数值(int型(必须 )):
-eq 等于(equal)
-ne 不等于(not equal)
-gt 大于(greater than)
-lt 小于(lesser than)
-ge 大于或者等于(greater or equal)
-le 小于或者等于(lesser or equal)

注意:不能用><=

小数(浮点型):

利用bc计算器  特性

[ `echo '1.2 < 1.3' | bc` -eq 1 ] && echo '小于'

`echo '1.2 < 1.3' | bc   返回1

`echo '1.2 < 1.3' | bc` -eq 1     等于1 成立

&& echo '小于'   返回小于

字符串:
= 相等
!= 不相等

[ 'kkkkk' != 'kkkk' ] && echo '不等于'

shell脚本实例

实例1:

放入crt跑

追加符号

粘贴

执行并传参

运行错误!

并未打印出    12不等于13

因为没有用双引号

使用vi  pandun.sh 修改

实例2:

vi pandun.sh

shell的变量以及常见符号的更多相关文章

  1. Shell基本语法---shell的变量以及常见符号

    变量 1.  不同于其它语言需要先声明变量 2 .等号的两边不能有空格 3. 调用变量: $a 或者 ${a} a=; echo $a; echo ${a} 变量 变量意思 $? 判断上一条命令执行的 ...

  2. shell学习笔记1: shell 中的变量与常见符号使用方法

    变量 声明即用 a=2 b="123" 调用 ${varName}或者 $varName echo $b echo ${a} 常见变量 $?:判断上一个语句是否成功 $0:执行脚本 ...

  3. shell脚本中一些特殊符号

    在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ...

  4. shell编程变量介绍与表达式详解

    shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...

  5. Shell环境变量与特殊变量详解

    1)变量类型 1)变量可分为俩类:环境变量(全局变量),和普通变量(局部变量), 环境变量也称为全局变量,可以在创建他们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可以分为自定义环 ...

  6. Linux学习-Shell的变量功能

    什么是变量? 简单的说,就是让某一个特定字串代表不固定的内容. 变量的可变性与方便性 举例来说,我们每个帐号的邮件信箱默认是以 MAIL 这个变量来进行存取的, 当 dmtsai 这个 使用者登陆时, ...

  7. shell与变量的声明的操作

    1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...

  8. shell中常用的特殊符号

    在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `co ...

  9. shell的变量处理

    shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...

随机推荐

  1. 【day09】PHP

    一.函数 1. 作用域(Scope) (1)局部变量:变量在声明的代码段中有效 a.动态变量 b.静态变量:static ,用在函数中,当调用函数后内存不释放,能存储变量的最后的值. (2)全局变量: ...

  2. 【CodeChef EDGEST】Edges in Spanning Trees(树链剖分+树上启发式合并)

    点此看题面 大致题意: 给你两棵\(n\)个点的树,对于第一棵树中的每条边\(e_1\),求存在多少条第二棵树中的边\(e_2\),使得第一棵树删掉\(e_1\)加上\(e_2\).第二棵树删掉\(e ...

  3. ubuntu 查看版本

    cat /etc/proc 可以查看是16.04还是18.04

  4. 纯CSS打造BiliBili样式博客主题

    前言 一直以来,我都在思考如何减少不必要的JS代码,仅通过CSS来实现博客园主题美化.CSS有很多魔法代码,例如:before,iconfont,order,等等,利用好这些技巧,也能实现很好美化效果 ...

  5. bootstrap-editable 中关于onEditableSave 回调

    问题描述 在对bootstrap-editable 进行编辑时,有两种使用方法:一种直接在每一个column中进行编辑保存,例如:{ title:'标题', field:'title', width: ...

  6. Java 基础系列:异常

    Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流.为了能够及时有效地处理程序中的运行错误,必须使用异常类. 1. 异常类型 Thro ...

  7. AOP软件设计

    什么是面向方面的编程? 为什么面向方面的软件设计? 术语 关注 视口 关注点分离 人工制品 横切 方面 编织 零件 形式主义 第二节 案例研究 关注 人工制品 横切 方面 AspectJ 加入点 切入 ...

  8. Sencha Modern

    Sencha Modern  前言         经过一个月捣鼓,基于sencha公司最新框架版本 ExtJS7.0 modern 的示例代码可以和大家见面了.示例中对系统主题.公共(组件,方法)封 ...

  9. D3力布图绘制--基本方法

    本文主要结合案例记录使用D3.js绘制力布图的基本方法 样例显示 基本配置 this.force = d3.layout .force() .size([this.width, this.height ...

  10. Springboot创建项目(idea版本)

    一:概述 由于springboot项目,不管是java工程还是web工程都可以直接以jar方式运行,所以推荐创建jar工程,这里创建jar工程项目为例. 二:两种方式创建springboot项目 1. ...