6、shell脚本执行方式

在Linux中shell脚本的执行方式有以下三种,其执行方式与区别如下:

  1. 直接执行脚本,即 路径/script.sh 或者 ./script.sh
     用这种方式执行脚本时,会使用新的shell环境来执行命令,即该脚本是在shell的子程序中执行的。这种方式执行的效果是,脚本中建立的各变量随着子程序的结束而被清除,即执行完毕后,使用 echo $variable 命令得不到变量值。
     用这种方式执行脚本时,脚本 script.sh 必须具有可执行权限。

  2. 使用 source script.sh 或者 . script.sh
     利用 source 或 . 命令可以在当前shell环境中执行脚本script.sh,因为脚本中各变量都加载在当前环境中,所以执行完脚本后,使用echo $variable 命令打印变量值时可以看到有值输出。
     使用这种方式时,脚本无需有可执行权限。

  3. 使用 bash script.sh 或者 sh script.sh
     使用这种方式执行脚本时,同第一种执行方式,脚本是在shell的子程序中执行的,因此,脚本执行完成后,使用 echo $variable 命令也是得不到变量值。
     使用这种方式时,脚本无需有可执行权限。另外,sh是bash的软链接。
     一般使用此种方式执行shell脚本。

你可能感兴趣的:(6、shell脚本执行方式)