红联Linux门户
Linux帮助

关于shell脚本

发布时间:2008-04-05 15:47:50来源:红联作者:Htgiot
在linux中,如果在shell脚本第一行加上

#!/bin/bash

这样一行,那么,无论在哪个shell中运行这个脚本,系统都会调用你在这一行指定的shell来解释这个脚本。

比如#!/bin/bash就指定了该脚本由 /bin/bash 来解释,而#!/bin/csh则指定该脚本由/bin/csh来解释。

如果没有这第一行,直接在shell中运行这个脚本,那么,该脚本就由当前的shell解释。

然而,如果没有指定这第一行,并使用nohup myScript 后台运行这个脚本的话,nohup会自动调用/bin/sh来解释这个脚本。一般来说,/bin/sh是一个符号链接,它指向机器上已经安装的某个shell,可能是/bin/bash,也可能是/bin/sh,/bin/dash等各个shell中任何一个。

ls /bin/sh -l 可以查看该链接指向哪一个。

在写shell脚本的时候,最好养成在第一行指定shell的习惯。因为,不同的shell,在有些命令上是不一样的。在一个shell中运行正确的脚本,在另一个shell中可能不能正确运行。
文章评论

共有 1 条评论

  1. zzu_gis 于 2008-04-05 20:52:11发表:

    #后的东西不是不可以执行吗?只是注释吗?为什么会有意义?