shell脚本杂记
来源:互联网 发布:中国网络电视直播下载 编辑:程序博客网 时间:2024/05/29 10:01
1、概念
Shell脚本是利用shell的功能所写的一个程序“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所要的处理目的。
简单记就是:
Shell语法与命令 [ + 正则表达式 + 管道命令 + 数据流重定向 ]
2、脚本执行方式(source,sh script,./script)的区别
下面先给出两幅图:
从上图可以看出,不同的script执行方式会造成不一样的结果。尤其对bash的环境影响很大。
当我们使用直接命令执行(不论是绝对路径/相对路径还是$PATH内),或者利用bash(或sh)来执行脚本时,该script都将会使用一个新的bash环境来执行脚本内的命令。如图a)所示,也就是说,使用这种方式执行脚本时,其实脚本是在子进程的bash内执行的。当子进程执行完成后,子进程内的各项变量或者操作将会结束而不会传回到父进程中。
当我们使用source来执行脚本时,脚本是在父进程钟执行的。如图b)所示,也就是说该script与执行脚本的进程是同一个进程。因此,当脚本执行完成后,各项操作都会在原本的bash内继续生效。
3、误操作
千万不要企图在脚本中写入sudo su语句以通过这种方式切换到root来执行需要root才能执行的特殊操作。
如果真这么操作了的话会出现当执行完该条语句后,脚本就执行结束了,后面的脚本语句将不会得到执行。
参考:
1、鸟哥的私房菜 基础篇
阅读全文
0 0
- shell脚本杂记
- shell 杂记
- shell杂记
- Shell杂记
- Shell杂记
- 脚本杂记
- Unix Shell学习杂记
- shell编程杂记
- Shell学习杂记一
- Bourne Shell编程杂记
- shell语法杂记
- shell 学习杂记一
- Shell 学习杂记二
- shell 使用杂记(一)
- ubuntu上的shell 杂记
- ubuntu上的shell 杂记
- ant脚本自动打包杂记
- shell脚本
- BOM对象
- 跨平台C语言长连接
- RxJava 与 Retrofit 结合的最佳实践
- JavaScript系列之变量与操作符(二)
- ssh connection refused 解决办法
- shell脚本杂记
- zookeeper简单安装
- 软件工程(C编码实践篇)课程总结
- IIS日志自动删除 bat脚本
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)
- Struts2中配置默认Action
- Java 多线程并发编程之互斥锁 Reentrant Lock
- unity3d中OnMouseEnter事件没有反应的解决办法
- MySQL 代替in/not in 的sql语句