expr 计算表达式的值
expr 1 + 2 #注意运算符两侧的空格,不写空格,当字符串处理。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190926181349963.png)
注意通配符,需要转义
expr 1 * 2 注意书写转义符。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019092618152188.png)
或写成expr 1 “*” 2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190926181635591.png)
echo “scale=2;5/2”|bc #输出2.50 #意为输出5/2小数点后两位
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190926182246666.png)
变量(shell中默认把变量值当作字符串)
a=10 #等号两侧不能有空格
使用变量
$a
${a}
建议使用${a},原因:
$abc
和
${a}bc
不一样
read
read -p “please input a number:” x
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190926182657806.png)
操作字符串
#注意字符串下标从零开始,截取时是闭合
name=“xiaoguo”
echo $name
echo ${name}
echo ${#name} #获取字符串长度
name=“xiao kong”
echo ${name:4} #注意空格问题,如果开始截取的位置是空格,则丢弃
echo ${name:4:4} #从索引位置4开始截取4个字符
从第四个开始输出
name=“shenlan”
url=“http://www.shenlancode.com”
echo KaTeX parse error: Expected '}', got '#' at position 5: {url#̲*{name}} #删除url中的string(实际的值)左侧的内容
echo ${url#*/}