shell初识(简介、变量)

1.什么是shell?

• Shell是linux的一外壳,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口
• 当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作
• 系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上

2.什么是shell脚本?

•简单的说,当命令或者程序不在命令行执行,而是通过一个程序文件来执行,这个程序就被称为shell脚本
•也就是在shell脚本里内置了多条命令,语句,循环控制,然后将这些命令一次性执行完毕,这种通过文件执行命令的方式称为非交互式

3.为什么使用shell脚本?

•适合处理操作系统底层的业务,有众多系统命令为其做支撑(还有文本处理三兄弟grep,sed,awk)
• 适合处理纯文本文件,linux中许多服务配置文件,启动脚本,都是纯文本(httpd,nfs,mysql,nginx,lvs)
•linux系统脚本用shell开发更简单

4.如何查看系统默认shell?

echo $SHELL
grep root /etc/passwd
cat /etc/passwd | head -1

5.shell脚本的建立、执行过程

•先加载系统环境变量。怎么查看系统环境变量:env
•一条一条命令执行,遇到子脚本,先执行子脚本,然后返回父脚本继续执行

#!/bin/bash   ##指定解释器:由哪个程序来执行脚本内容
#!:幻数
注意:#!/bin/bash必须写在第一行,否则会被认为是注释

练习:写自动安装apache服务器并设置开机自启动

思考脚本存在问题???

1.没有用户判断,任何用户都可以执行这个脚本2.没有流程控制,只是把简单的命令进行顺序操作,没有成功与否的判断

6.脚本的执行方法

1. bash script.sh 或者 sh script.sh   (当脚本没有执行权限时)
2. path/script.sh 或者 ./script.sh    (绝对路径,或当前目录下)
3. source script.sh 或者 . script.sh  (需要传递变量或函数时使用)
` `  ##表示将执行结果赋予某变量

变量

1.变量的设置规则

1. 变量与变量内容以=连接
2. 等号两边不能直接接空格
3. 变量名称只能是字母数字,但不能以数字开头
4. 可用''或者""将变量内容结合起来
##双引号内的特殊字符如$等,可以保留原有特性
##单引号内的特殊字符仅为一般字符(纯文本)

注意:没有特别要求时,字符串都加双引号,原样输出加单引号

2.特殊变量

$0:获取脚本文件名,如果执行时包含路径,则输出脚本路径
$n(>0):返回第n个参数
$#:统计传入参数个数
$@ | $*:列出所有参数
$?:上条命令执行结果返回值 0命令正确输出 || 非0执行失败
$$:进程号

3.变量的数值计算(加减乘除余)

1)expr命令(乘法需要转义)

expr $a + 10 | $a - 10 | $a \* 10 | $a / 10 | $a  % 10
        加        减     乘(转义)     除         余

2)$[]和$(())表达式

echo $((a+10)) | echo $[a+10]
echo $((a*10)) | echo $[a*10]
echo $((a/5))  | echo $[a/5]
echo $((a%3))  | echo $[a%3]

注意:以上两条命令的执行都在原来a的值上做计算let命令会在计算后赋予新值,再次计算是在新值上

3)let命令(let命令在执行后会保存新的值)

4)小数运算工具bc

脚本计算两个数的加减乘除

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值