shell脚本学习(1)——对脚本开头部分#!/bin/sh -ex的学习

shell脚本开头部分:这些非注释,而是说明在哪些shell环境中执行。如#!/bin/bash是指此脚本使用/bin/bash来解释执行。

其中,#!是一个特殊的表明符,其后,跟着解释此脚本的shell路径。

#!/bin/sh -ex

#!/bin/bash -ex

#!/bin/zsh -ex  

一、什么是 sh、bash、zsh?

(1)sh是解释器、是shell command的执行者,shell中的功能基本是由sh实现的。

但是sh只是一种规范,定义了sh必须有的功能和规约。不过作为规范的sh必须就有真正的实现:一般我们常见的/bin/sh就是sh实现的软连接。

简单概括:sh(定义功能和规范),bin/sh(实现)

(2)你可能也会常常看到/bin/bash,看起来像是bash实现的软连接,那么bash是什么?

bash开始的时候实则是sh的一种实现,后来又加入许多sh中并没有包含的功能,甚至bash中有一些行为会更改sh中的需求。因此并不能完全的说bash是sh的实现。

  (3)zsh也是解释器,只不过是比bash功能更加强劲的解释器。

二、-ex是什么意思

-e: 如果shell command中的任何一行failed,整个shell script file的运行会在这个command处立刻终止。

-x: 在shell script的执行过程中,将command以及参数全部在标准输出中console出来

以上内容总结修改,部分摘自:#! /bin/bash – 简书 (jianshu.com)

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
南宁校园的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容