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






![[C++探索之旅] 第一部分第十一课:小练习,猜单词 - 鹿快](https://img.lukuai.com/blogimg/20251015/da217e2245754101b3d2ef80869e9de2.jpg)










暂无评论内容