Shell是什么?
Shell 与awk 、Perl 、Python、Ruby 都是脚本编程语言。他们的优点就是,多半运行在比编译型语言还高的层级,能够轻易处理文件和目录之类的对象。缺点:效率通常不如编译型语言。
之所以使用Shell 脚本 是基于:
简单性:Shell 是高级语言;通过它,可以简洁表达复杂的操作。 可移植性:使用POSIX的标准所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。 开发容易:可以在短时间内完成一个功能强大又好用的脚本。
Shell 脚本通常一开始都是 #! /bin/sh 开头.如果你的 /bin/sh 并不符合POSIX标准,请将这个路径改为符合POSIX标准的Shell。下面是几个初级的陷阱,请特别留意:
当今系统 对 #! 这一行的长度有限制从63到1024个字符读。建议不要超过64个字符
在某些系统上,命令行部分(也就是要传递给解释器执行的命令)包含了命令的完整路径名称。不过有些系统却不是这样;命令行的部分会原封不动地传给程序。因此,脚本是否具有可移植性取决于是否有完整地路径名称
别在选项之后放置任何空白,因为空白也会跟着选项一起传递给被引用地程序
要知道解释器地完整路径名称。可以解决可移植性问题,不同厂商可能将同样地东西放在不同地地方
一些旧地系统上,内核不具备解释#! 的能力,有些Shell 会自行处理,这些Shell对于 #! 与紧随其后的解释器名称之间是否可以有空白,可能有不同的解释。
Shell 的基本元素
命令与参数
Shell 识别三种基本命令:内建命令,Shell函数以及外部命令 命令的原理 1.格式简单 以空白(Space 键或Tab 键)隔开命令行中各个组成部分 2.命令名称是命令行第一个项目,后面通常跟着选项,任何额外的参数都会放在选项之后 3.选项的开头是一个破折号(或减号),后面接着一个字母