代码改变世界

关于LINUX中高级变量的概念

2017-08-08 17:49  木偶米  阅读(227)  评论(0编辑  收藏  举报

expr函数:可以用来求表达式的值

expr命令可以替代let命令,使参数进行算法,除此之外还有$(()),用法如下
i=12
a=5
c=$((i*a))
echo "c=$c"输出结果为60

 

 

string="speak English"
expr length "$string"求string的值的长度

expr index "$string"  str
从$string检索str字符串,返回在$string出现的位置;
如果没有匹配的字符返回0
expr match '$string' str
match命令是从string的开头匹配,如果开头没有,就返回0,表示没有找到
如果有返回结束的位置
echo ${string:数字}抽取字符
echo ${string:3} 从第三数个字符开始抽取
echo ${string:3:4}从第三个字符开始,往后抽取4的长度的字符

echo ${string%k*i}删除从k到i的最短匹配
echo ${string%%k*i}删除从k到i的最长匹配

echo ${string/sp/SP}在string里把sp的值改成SP,只替换一次
echo ${string//sp/SP}在string里把sp的值改成SP,全部替换
有类型变量
declare指定变量的类型
-i 把变量定义为整型
i=20
a=$i+1
echo "a=$a" 输出为a=20+1;

i=20
declare -i a
a=$i+1
echo "a=$a"输出为a=21;

-x 把变量定义为环境变量
-r 设置只读