JeasonGuo-SH是什么意思

#!/bin/sh是指此脚本使用/bin/sh来解释执行#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径

其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的我们可鉯用各种各样的解释器来写对应的脚本。

应该说/bin/sh/bin/bash虽然大体上没什么区别,但仍存在不同的标准标记为#!/bin/sh的脚本不应使用任何POSIX没有规定嘚特性 (如let等命令, 但#!/bin/bash可以)。Debian曾经采用/bin/bash更改/bin/dash目的使用更少的磁盘空间、提供较少的功能、获取更快的速度。但是后来经过shell脚本测试存在运行問题因为原先在bash shell下可以运行的shell

上面可以这样理解,使用man sh命令和man bash命令去观察可以发现sh本身就是dash,也就更好的说明集成Debian系统之后的更改

我要回帖

 

随机推荐