【Linux】中shell脚本之符号篇

shell简介:

Shell的作用是解释执行用户的命令户,有两种执行方式:

交互式:用户输入一条命令,Shell就解释执行一条

批处理(Batch):用户事先写多个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。 

Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执性这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。

shell的特性:

1,shell是一门弱类型语言

2shell是一种解释性的语言

3,shell中没有类型,所有的变量都可以直接使用,不用直接使用

为什么shell脚本是一个文本文件不需要编译就可以运行

1,bash可以直接执行,执行的不是shell脚本,先加载bash,将脚本作为命令行参数
2,shell脚本不可以直接执行,是解释器帮忙执行的
3,先创建子进程,让子进程去exec
4,依赖其解释器,并不是shell自己运行的
5,一旦执行就会影响其他的,这叫做内建命令,是shell解释器的一个命令

shell执行脚本

vim script.sh输入以下的脚本语言:


使用第一种执行方式:chmod +x script.sh


使用第二种方式执行:/bin/bash script.sh


shell变量:

在script.sh输入以下脚本

执行结果:


shell的计算:

在script.sh中输入以下脚本:

#!/bin/bash
sum=0
i=100
j=30
echo i=$i j=$j
(( sum=i+j))
res=$((i+j))
echo i+j:
echo sum:$sum
echo res:$res

(( sub=i-j ))
res=$((i-j))
echo i-j:
echo sub:$sub
echo sub:$res

((mul=i*j))
res=$((i*j))
echo i*j:
echo mul:$mul
echo res:$res

((div=i/j))
res=$((i/j))
echo i/j:
echo div:$div
echo div:$res

((mod=i%j))
res=$((i%j))
echo i%j:
echo mod:$mod
echo res:$mod
执行 结果为:


$( )和``
``:由反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立刻代换到当前命令行中。
$():算术代换:$(())用于算术计算,$(())中的Shell变量取值将转换成整数,
$( )和``区别:
(1)``很容易与''搞混乱,尤其对初学者来说。
(2)在多层次的复合替换中,``必须要额外的跳脱处理(反斜线),而$( )比较直观。
(3)最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值