第一个Shell脚本

打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。

输入一些代码:

“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。

运行Shell脚本通常有两种方法,其实还有其他的方法,暂不介绍。

作为可执行程序

将上面的代码保存为firstshell.sh,并 cd 到相应目录:

注意,一定要写成./firstshell.sh,而不是firstshell.sh。运行其它二进制的程序也一样,直接写firstshell.sh,linux系统会去PATH里寻找有没有叫firstshell.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成firstshell.sh是会找不到命令的,要用./firstshell.sh告诉系统说,就在当前目录找。

通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。

这里的"系统",其实就是shell这个应用程序(想象一下Windows Explorer),但我故意写成系统,是方便理解,既然这个系统就是指shell,那么一个使用/bin/sh作为解释器的脚本是不是可以省去第一行呢?是的。

作为解释器参数

这种运行方式是,直接运行解释器,其参数就是shell脚本的文件名,如:

这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

再看一个例子。下面的脚本使用read命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出:

运行脚本,结果如下:

参考资料

第一个Shell脚本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上一篇写了什么是shell是关于一些理论的东西,因此就决定写写shell脚本看:第一个shell脚本打开文本编辑器...
    yyshang阅读 1,716评论 0 1
  • 第一个shell脚本 1、关于#! 在脚本开头的 sha-bang (#!) 是告诉系统这个文件是由特定命令解释器...
    Fengya阅读 4,099评论 0 50
  • 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表s...
    孤月环舟阅读 1,716评论 0 0
  • 作者:qinjx原文地址:Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: 示例解释 第1...
    IT程序狮阅读 6,826评论 1 67
  • 什么是Shell脚本 示例 看个例子吧: 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2...
    余歌_非鱼阅读 10,177评论 2 93