玩转变量、环境变量以及数学运算(shell)
变量和环境变量
var=value 给变量赋值,输出语句:$ echo $var或者是$ echo ${var},记住中间有个空格
例如:name="coffee" age="20" $echo "我的名字是:${name},年龄是:${age}" 在输出语句echo中可以在双引号中使用变量,但是如果是单引号那么变量不会扩展得到定义的值。

获取字符串的长度:${#var}
//例如:
name="yy" $echo ${#name}
//输出的结果为2。
$0或者是$SHELL 可以获取当前使用的是那种shell,注意:shell所有字母必须都是大写的
export命令设置环境变量,至此之后,当前的shell脚本都会继承这个变量值,
一些常用的环境变量:HOME PWD USER UID SHELL
UID:检查当前脚本用户身份,root用户的UID是0
SHELL:当前shell的类型
数学运算
let命令简单的算术操作,使用时变量名之前可不需要添加$
实例如下图:

自加操作:$ let one++
自减操作:$ let two--
也可以这样简写:$ let one+=2 $ let two-=1分别等同于$ let one = one + 2和$ let two = two - 1
操作符[]也有和let命令类似作用

也可以使用(()),但是需要注意变量名之前需要加上$,否则会出错。

以上方法只适合与整数之间的运算,不支持小数。
现实生活没有小数那几乎是不可能的,当然了shell也不会那么的简单,bc命令就是一个数学运算高级工具,它可执行浮点数运算并应用一些高级函数:

设定小数的精度scale命令,在对于乘法(*)运算时没有效果

进制之间转换obase(输出的进制)和ibase(输入的进制)命令

计算平方、平方根sqrt命令

注意:上图中如果不能够平方根的那么结果得到的是比原值都小中的最大值
玩转变量、环境变量以及数学运算(shell)的更多相关文章
- Linux 下Shell变量,环境变量的联系与区别
Linux下Shell变量,环境变量的联系与区别 by:授客 QQ:1033553122 1. 简介 linux下的变量可分成两种:Shell变量和环境变量. Shell变量,又称本地变量,包括私有 ...
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
--------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...
- .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]
较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...
- 跟我一起写Makefile--- 变量(嵌套变量+追加变量+overrid+多行变量+环境变量+目标变量+模式变量)
目录(?)[-] 使用变量 一变量的基础 二变量中的变量 三变量高级用法 四追加变量值 五override 指示符 六多行变量 七环境变量 八目标变量 九模式变量 使用变量 ———— 在Makefil ...
- java 获取系统变量(环境变量和设置变量)
前言 环境变量这个概念不陌生, 就是操作系统的环境变量. 系统变量就是java本身维护的变量. 通过 System.getProperty 的方式获取. 对于不同的操作系统来说, 环境变量的处理可能会 ...
- java 获取系统变量(环境变量和环境变量)
前言 环境变量这个概念不陌生, 就是操作系统的环境变量. 系统变量就是java本身维护的变量. 通过 System.getProperty 的方式获取. 对于不同的操作系统来说. 环境变量的处理可能会 ...
- 管道符和作业 shell变量 环境变量
管道符 | 前一个命令的输出,变成后一个命令的输入 ctrl +z 暂停 bg cmd 后台运行 fg # 调回前台 直接让程序进入后台,可以在后面加上 cmd &am ...
- 管道符和作业控制 shell变量 环境变量配置文件
8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 管道符和作业控制 管道符:表示把一个文件的输出内容传送到后面的命令 grep 用来过滤指定关键词的命令 “|” 为 ...
- shell变量/环境变量和set/env/export用法_转
转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...
随机推荐
- Web Developer可以做得更多
美国雅虎前端工程师Hedger Wang.这位原雅虎奇摩的第一位Web Developer,非常慷慨的与我们分享了他丰富的经验.现身说法,比空洞的理论更有感染力,我们发现现在遇到的很多问题也都是他曾经 ...
- C#调用其它语言(例如C++)DLL文件中函数的方法摘要
有托管和非托管的概念没仔细看,接下来记录的引用Dll文件指的是无法通过VS自动完成添加引用的情况,可以使用如下方法: 步骤一: 打开“Visual Studio Tools”的“命令提示符”工具 使用 ...
- 搞JAVA在北京月薪15K的朋友来到厦门却很难找到工作
朋友是搞JAVA开发的,从北京来.来前朋友们都感觉他在厦门应该很快就能找到工作,因为厦门的IT人员很缺. 没想到来厦门大概半个多月了,到现在都还没着落.面试单位每周基本只有两家,而且面试的感觉都说不错 ...
- 33条C#、.Net经典面试题目及答案
33条C#..Net经典面试题目及答案[zt] 本文集中了多条常见的C#..Net经典面试题目例如".NET中类和结构的区别"."ASP.NET页面之间传递值的几种方式? ...
- Wireshark基本介绍及应用tcp
wireshark介绍 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示 ...
- 轻松学习Linux之理解进程的管理与控制
本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- UDP广域网,局域网通信-原理分析,穿透技术
一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...
- 第一百九十七-第二百天 how can I 坚持
又是四天,how 快. 第一天,晚上要坐车回济南,没下班就躁动了.晚上高铁竟然是知道济南西,中间没有停,到济南九点半,去刘松家又吃了一顿.喝了不少酒.挺爽. 第二天,早上五点多就醒了,睡的婚床,哈哈, ...
- delphi请求idhttp数据
idhttp ss : TStringStream; begin ss := TStringStream.)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 utf8 对 ...
- 服务框架Dubbo(转)
add by zhj:该开源项目已经停止更新了,不过倒是可以学学该软件的架构设计 原文:http://www.oschina.net/p/dubbo Dubbo 是阿里巴巴公司开源的一个高性能优秀的服 ...