一.shell介绍
1.什么是shell?
- Shell是linux的一外壳,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口
- 当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作
- 系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上什么是shell脚本
2.什么是shell脚本?
- 简单的说,当命令或者程序不在命令行执行,而是通过一个程序文件来执行,这个程序就被称为shell脚本
- 也就是在shell脚本里内置了多条命令,语句,循环控制,然后将这些命令一次性执行完毕,这种通过文件执行命令的方式称为非交互式
3.为什么使用shell脚本?
- 适合处理操作系统底层的业务,有众多系统命令为其做支撑(还有文本处理三兄弟grep,sed,awk)
- 适合处理纯文本文件,linux中许多服务配置文件,启动脚本,都是纯文本(httpd,nfs,mysql,nginx,lvs)
- linux系统脚本用shell开发更简单
4.如何查看系统默认shell?
方法1.
方法2.
5.如何建立shell脚本?
6.脚本执行方法
执行方式有三种:
1.没有执行权限时
sh 1.sh | bash 1.sh
2.绝对路径,当前目录下
pathchk/1..sh | ./1.t.sh
3.这种方式会使用source或逗号来读如指定shell文件,并会把其他shell中的变量值或函数返回给父shell继续使用
三种执行方式的区别:
是否需要执行权限 | 是/否 |
---|---|
使用第一种方法 | 是 |
使用第二种方法 | 否 |
使用打三种方法 | 否 |
如果在一个新的子进程执行这个脚本,那么在这个子进程执行完这个脚本后,父进程是无法获取子进程的变量的。而如果直接在执行脚本命令的那个进程(没有新创建进程)运行脚本的话,它的变量是一直保留在这个进程里的。
是否以新的进程运行脚本 | 是/否 |
---|---|
第一中方法 | 是 |
第二种方法 | 是 |
第三种方法 | 否 |