linux 中运行脚本的几种方式及其区别

脚本程序在linux系统中运行时分为两种环境,一种是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。 第二种是当前shell中执行的,当我们需要利用脚本设置当前环境变量时,应该采取第二种运行脚本的方式。

下面分别介绍这两种运行方式的基本命令。

第一种:在子shell环境中运行

  1. 切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
    cd /data/shell ./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。

  1. 绝对路径执行
    /data/shell/hello.sh

  2. 直接使用bash 或sh 来执行bash shell脚本
    cd /data/shell bash hello.sh
    或者
    sh hello.sh

第二类: 在当前shell环境中执行

  1. . hello.sh
  2. source hello.sh

转载自: https://www.jb51.net/article/53924.htm 有需要深入了解的可以看一下原贴

posted @ 2022-08-13 09:56  cofludy  阅读(1025)  评论(0编辑  收藏  举报