shell——变量、数学运算、数组
来源:互联网 发布:淘宝和京东哪个好 编辑:程序博客网 时间:2024/05/01 11:47
一.变量
1. 不需要在使用变量前声明其类型,只需赋值就可以,每个变量值都是字符串。
2. 查询某进程运行时的环境变量:
cat /proc/$PID/environ //PID为相关进程id
pgrep 应用程序//获取进程id
例如:pgrep vi 得到2553
cat /proc/2553/environ
cat /proc/2553/environ | tr ‘\0’ ‘\n’//每行显示一对kv
3. 区别变量名与指之间是否有空格
var=value //无空格表示赋值
var = value //有空格表示判断是否相等
4. 取值符$
value=”hadoop”
echo $value 或者 echo ${value}
5. 环境变量是未在当前进程中定义,而是从父进程中继承而来的。
echo $PATH
export PATH=”$PATH:/home/user/bin”
6. 获取字符串长度:
Var=hadoop
length=${#var}
echo $length
7. 获知当前shell版本
echo $SHELL 或者echo $0
二.shell进行数学运算
1.使用let时,变量名前不需添加$
let var1++
let var2+=5
2.使用[]时
Res =$[var1 + 32] 或者 res =$[$var2 + 43]
3.使用(())
Res=$((var2 + 100))
以上方法只能使用于整数运算,不支持浮点数
4.数学计算高级工具bc
echo 4*0.345 | bc
echo “scale=2;3/8”| bc ; 设定小数精度为2
十进制转换二进制:
no=100
echo “obase=2;$no” |bc
二进制转换十进制:
var=1100100
echo “obase=10;ibase=2;$var” |bc
计算平方以及平方根
echo “sqrt(100)” | bc
echo “10^10” | bc
三.数组
1.bash支持普通数组和关联数组,普通数组只能使用整数作为数组索引,关联数组可以使用字符串作为数组索引。
2.数组的定义:array1={1 2 3 4 5 6}
array2[0]=”test1”
array2[1]=”test2”
3.打印数组值:
echo ${arrar1[2]}
echo ${array2[*]}
4.求数组长度
echo ${#array1[*]}
5.关联数组
(1)使用关联数组前需声明:
declare -A myarray
(2)例如:
declare -A fruits
fruits=([apple]=’100dollars’ [orange]=’200dollars’)
echo “apple costs ${fruits[apple]}”
3.列出数组索引
echo ${!myarray[*]} 或者 echo ${!myarray[@]}
- shell——变量、数学运算、数组
- shell变量数学运算
- shell变量数学运算
- shell 变量 数学 运算
- Linux shell 变量 数学 运算
- Linux shell 变量 数学 运算
- Linux shell变量数学运算
- Linux shell--变量数学运算
- Linux shell 变量 数学 运算
- Linux shell 变量 数学 运算
- Linux shell 变量 数学 运算
- 03 Linux shell 变量 数学 运算
- Shell编程——Shell中的数学运算
- linux 下shell 编程之变量及数学运算
- Linux的shell编程——数学运算
- .NET日记——变量和基本数学运算
- Shell——变量与数组
- shell脚本——数组变量
- Dynamics CRM 2013 Claim Based Authentication & IFD Configuration Tips
- UIWebView指南
- 第二周作业
- nginx源码学习资源
- 操作格子(线段树)
- shell——变量、数学运算、数组
- Android 入门 - 使用日志
- 题目1111:单词替换
- 黑马程序员-IOS开发之--C语言基础一流程控制
- 影子系统toolwiz time freeze
- 了解ArcGIS 10.1 for Server从这里开始
- Nginx源码学习之编译、构建与安装(cygwin环境)
- [算法导论]快速排序
- TreeView的用法,生成文件目录树