shell基础知识

1.什么是shell??

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

 

2.什么是shell脚本??

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

 

3.为什么使用shell脚本??

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

 

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

方法1:

方法2:

方法3:

方法4:

查看/etc/passwd文件

 

5.shell脚本的建立

第一行:#!/bin/bash
1)作用:指定解释器,由哪个程序来执行脚本内容
2)#!:幻数


注意:#!/bin/bash必须写在第一行,否则会被认为是注释

vim test.sh

#!/bin/bash
echo "Hello westos"
#!/bin/bash
echo "Hello redhat"

示例:清空/var/log/messages文件

vim log.sh

#!/bin/bash
cd /var/log
cat /dev/null > messages
echo "Logs cleaned up..."

思考:这个脚本有什么缺陷???

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

 

6.脚本执行的过程

1)先加载系统环境变量

2)一条一条命令执行,遇到子脚本,先执行子脚本,然后返回父脚本继续执行

 

7.脚本执行方法

第一种:
sh script.sh   | bash  script.sh    

第二种:
path/script.sh  | ./script.sh    

第三种:
source script.sh    | . script.sh       

三种执行方式的区别是什么??

1)第一种情况示例

注意:在没有执行权限时,用这种方式执行脚本,并不会把变量值或者函数返回值返回保存到父shell

 

2)第二种情况示例

注意:在绝对路径下执行,且有执行权限

3)第三种情况示例

注意:这种方式会使用source或.来读入指定shell文件,并会把其他shell中的变量值或函数返回值返回给父shell继续使用  

 

8.脚本开发规范

1)注释:可以命令后,也可以自成一行
2)脚本信息:

#!/bin/bash
#Date:2018-12-14
#Author:westos-wsp
#Connect:wsp439@sina.com
#Desc:This script is for...
#Version:1.0

3)脚本名:最好以.sh结尾

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值