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. leetcode279. 完全平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12输出: 3 解释: 12 = ...

  2. CF1278C-Berry Jam-(前缀和)

    https://vjudge.net/problem/CodeForces-1278C 题意:有2n瓶果酱,中间有一个楼梯隔开,从中间往左或右两边清空果酱,使得两种果酱的数量相等,最少要清空多少瓶 思 ...

  3. <DP> (高频)139 375 374 (DP hard)312

    139. Word Break 返回结果较为简单可用dp, 复杂用dfs class Solution { public boolean wordBreak(String s, List<Str ...

  4. 洛谷P1283 平板涂色 &&一本通1445:平板涂色

    题目描述 CE数码公司开发了一种名为自动涂色机(APM)的产品.它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色. 为了涂色,APM需要使用一组刷子.每个刷子涂一种不同的颜色C.APM拿 ...

  5. vue-cli安装以及创建一个简单的项目(一)(Node\npm\webpack简单使用)

    1.关系介绍 1.简单的说 Node.js 就是运行在服务端的 JavaScript. 2.NPM是随同NodeJS一起安装的包管理工具(新版的nodejs已经集成了npm),能解决NodeJS代码部 ...

  6. 使用 jQuery.TypeAhead 让文本框自动完成 (四)(自定义模板)

    项目地址:https://github.com/twitter/typeahead.js 直接贴代码了: @section headSection { <script type="te ...

  7. JWT简要说明

    什么是JWT? JSON Web Token (JWT) 是一种开放标准 (RFC 7519) 定义了一种用于安全传输的紧凑.自包含(注:或自说明) 的Json结构, 被传输的信息可以通过JWT内容中 ...

  8. Powershell ExecutionPolicy 执行策略

    简单说明 powershell对于脚本的执行有着严格的安全限制 Get-ExecutionPolicy -List #查看当前的执行策略 Set-ExecutionPolicy -Scope Curr ...

  9. SAP PI开发手册-ERP发布服务供外部系统调用(sproxy代理类)

    转自:https://www.cnblogs.com/fanjb/p/10829858.html 一.      接口内容 接口详细信息 1.  字段对应关系 发送字段对应关系 返回字段对应关系 2. ...

  10. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...