从零开始写shell脚本(3)-基本概念

shell运算

在shell中,使用expr 算术表达式就可以执行算术运算。
例如

expr 1 + 3
expr 2 - 1
expr 10 / 2
expr 10 % 3
expr 10 /* 2
echo `expr 1 + 2`

以上表达式有几点需要注意的:

  • 操作符两侧需要加空格,是10 / 2,而不是10/2
  • \*代表乘法,因为*一般都当做通配符
echo 后面的算术运算需要包裹在 ` 中,而不能是普通的引号 ' " ,
echo "expr 6 + 3"
echo 'expr 6 + 3'
输出结果都是expr 6 + 3,仅仅是打印而已
只有echo `expr 6 + 3` 会执行计算,显示9
` 符号在键盘左上角,就是~所在的按键

退出状态

linux中使用echo $?来检查程序执行的结果,即返回值,写C语言程序时,我们时常在main函数的最后一句写上return 0来表示程序正常结束。

所以一般echo $?的结果为0表示程序正常结束,而非0则表示各种不同的错误原因。

例如执行ls后输出当前目录内容,在echo $?,输出0则表示ls成功执行。

Linux通配符

在Linux中经常需要使用到的通配符:

通配符含义例子
*匹配一个或多个任何字符ls * 显示当前目录所有内容
匹配单个字符ls a? 显示所有两个字符长度的文件,以a开头
[…]匹配扩号里包含的任意一个字符ls [abc]* 显示所有以a,b或者c开头的文件名

注意:
[…-…]表示在一定范围内的任意字符
例如[a-o]表示在字母表中a到o之间的任意字符,包含a,o

例如执行:ls /bin/[a-c]*
这里写图片描述
会显示所有以a,b或者c开头的所有内容

在shell中,!,^都表示否定
例如ls /bin/[!a-o]*或者ls /bin/[^a-o]*
都表示任何不以a到o之间字符开头的内容,所以输出如下:
这里写图片描述

在一行中执行多个命令

在shell中如果需要在一行中执行多个指令需要在之间加上;

date;who

不能直接 date who
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值