shell编程笔记
1.获得字符串长度
[root@(none) ~]# var=123456
[root@(none) ~]# echo ${#var}
6
2.当前shell的版本
[root@(none) ~]# echo $SHELL
/bin/bash
[root@(none) ~]# echo $0
-bash
3.环境变量UID
echo $UID
当前脚本执行用户的uid
4.数学运算
加减
[root@(none) ~]# a=1
[root@(none) ~]# b=2
[root@(none) ~]# let c=a+b
[root@(none) ~]# echo $c
3
自加
[root@(none) ~]# let c++
[root@(none) ~]# echo $c
4
自减
[root@(none) ~]# let c--
[root@(none) ~]# echo $c
3
简写
[root@(none) ~]# let c+=6
[root@(none) ~]# echo $c
9
[root@(none) ~]# let c-=6
[root@(none) ~]# echo $c
3
其他方法
[root@(none) ~]# a=1
[root@(none) ~]# b=2
[root@(none) ~]# c=$[ a + b ]
[root@(none) ~]# echo $c
3
expr同样可以用于基本算数
[root@(none) ~]# c=`expr 3 + 4`
[root@(none) ~]# echo $c
7
[root@(none) ~]# c=$(expr $no1 + 5)
[root@(none) ~]# echo $c
5
用bc进行高级运算,安装bc后
[root@(none) ~]# echo " 4 * 0.56" | bc
2.24
设定小数精度
[root@(none) ~]# echo "scale=2;3/8" | bc
.37
进制转换
[root@(none) ~]# no=100
[root@(none) ~]# echo "obase=2;$no" | bc
1100100
[root@(none) ~]# no=1100100
[root@(none) ~]# echo "obase=10;ibase=2;$no" | bc
100
计算平方根
[root@(none) ~]# echo "sqrt(100)" | bc
10
[root@(none) ~]# echo "10^10" | bc
10000000000
5.数组
[root@(none) ~]# array_var=(1 2 3 4 5 6)
[root@(none) ~]# echo ${array_var[0]}
1
[root@(none) ~]# echo ${!array_var[*]}
0 1 2 3 4 5
[root@(none) ~]# echo ${!array_var[@]}
0 1 2 3 4 5
6.不以按回车方式读取字符"n"
[root@(none) ~]# read -n 5 var
12345[root@(none) ~]#
7.字段分割符和迭代器
[root@(none) ~]# data="name,sex,roollno,location"
[root@(none) ~]# oldIFS=$IFS
[root@(none) ~]# IFS=,
[root@(none) ~]# for item in $data; do echo Item: $item; done
Item: name
Item: sex
Item: roollno
Item: location
浙公网安备 33010602011771号