详解shell中source、sh、bash、./执行脚本的区别

在Linux系统中,我们可以使用多种方式执行Shell脚本。本文将介绍四种常用的方法:source、sh、bash、./。这些方法之间有一些区别,本文将详细讲解它们的区别。

source命令

source命令用于在当前Shell环境中执行指定的Shell脚本。使用source命令执行脚本时,脚本中的变量和函数将在当前Shell环境中生效。例如,我们可以使用source命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="John"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用source命令执行上面的脚本:

source script.sh

在上面的命令中,我们使用source命令执行了script.sh脚本。脚本中定义的变量和函数将在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

Hello, John!

sh命令

sh命令用于在新的Shell环境中执行指定的Shell脚本。使用sh命令执行脚本时,脚本中的变量和函数将不会在当前Shell环境中生效。例如,我们可以使用sh命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="John"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用sh命令执行上面的脚本:

sh script.sh

在上面的命令中,我们使用sh命令执行了script.sh脚本。脚本中定义的变量和函数将不会在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

bash: hello: command not found

bash命令

bash命令用于在新的Bash Shell环境中执行指定的Shell脚本。使用bash命令执行脚本时,脚本中的变量和函数将在当前Shell环境中生效。例如,我们可以使用bash命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="John"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用bash命令执行上面的脚本:

bash script.sh

在上面的命令中,我们使用bash命令执行了script.sh脚本。脚本中定义的变量和函数将在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

Hello, John!

./命令

./命令用于在当前目录下执行指定的Shell脚本。使用./命令执行脚本时,脚本中的变量和函数将在当前Shell环境中生效。例如,我们可以使用./命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="John"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用./命令执行上面的脚本:

./script.sh

在上面的命令中,我们使用./命令执行了script.sh脚本。脚本中定义的变量和函数将在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

Hello, John!

示例说明

示例1:使用source命令执行脚本

我们可以使用source命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="Alice"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用source命令执行上面的脚本:

source script.sh

在上面的命令中,我们使用source命令执行了script.sh脚本。脚本中定义的变量和函数将在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

Hello, Alice!

示例2:使用./命令执行脚本

我们可以使用./命令执行一个简单的Shell脚本:

#!/bin/bash

# 定义变量
NAME="Bob"

# 定义函数
hello() {
    echo "Hello, $NAME!"
}

# 执行函数
hello

我们可以使用./命令执行上面的脚本:

./script.sh

在上面的命令中,我们使用./命令执行了script.sh脚本。脚本中定义的变量和函数将在当前Shell环境中生效。我们可以执行hello函数来验证它是否生效:

hello

输出结果如下:

Hello, Bob!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解shell中source、sh、bash、./执行脚本的区别 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • SHELL脚本监控JAVA进程的代码

    以下是关于“SHELL脚本监控JAVA进程的代码”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux系统中,Shell脚本是一种常见的自动化工具,可以帮助我们完成各种系统管理和维护任务。本攻略将介绍如何使用Shell脚本监控Java进程,以确保Java应用程序的稳定运行。 2. 实现方法 2.1 使用 ps 命令 ps 命令可以显示当前系统中运行的…

    Shell 2023年5月16日
    00
  • Linux Shell字符串变量拼接与赋值的使用

    以下是关于“Linux Shell字符串变量拼接与赋值的使用”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux Shell编程中,字符串变量拼接和赋值是非常常见的操作。本攻略将详细讲解Linux Shell中字符串变量拼接和赋值的用法,帮助读者更好地掌握Shell编程技能。 2. 字符串变量拼接 在Linux Shell中,可以使用+或.符号将两…

    Shell 2023年5月16日
    00
  • Shell编程之变量数值计算方法示例

    以下是关于“Shell编程之变量数值计算方法示例”的完整攻略,其中包含两个示例说明。 1. 前言 在Shell编程中,变量数值计算是非常常见的操作。本攻略将介绍Shell编程中的变量数值计算方法,并提供多个实例说明。 2. 变量数值计算方法 在Shell编程中,可以使用多种方法进行变量数值计算,包括: 使用expr命令 使用let命令 使用$(( ))语法 …

    Shell 2023年5月16日
    00
  • 关于使用shell脚本循环处理文本的问题

    以下是关于“使用Shell脚本循环处理文本”的完整攻略,其中包含两个示例说明。 1. 前言 在Linux系统中,有时需要对文本进行循环处理,例如逐行读取文本文件并对每一行进行处理。本攻略将详细讲解如何使用Shell脚本循环处理文本,帮助读者更好地管理Linux系统。 2. 实现方法 在Shell脚本中,可以使用while循环和read命令实现循环处理文本。w…

    Shell 2023年5月16日
    00
  • shell脚本按当前日期输出日志的实现

    以下是关于“shell脚本按当前日期输出日志的实现”的完整攻略,其中包含两个示例说明。 1. 前言 在 Linux 系统中,我们可以使用 shell 脚本来实现按当前日期输出日志的功能。本攻略将详细介绍如何实现这一功能。 2. 实现方法 要实现按当前日期输出日志的功能,我们可以使用以下步骤: 获取当前日期,并将其格式化为指定的格式。 将日志信息写入日志文件中…

    Shell 2023年5月16日
    00
  • Shell.Application执行命令的五种方法小结

    以下是关于“Shell.Application执行命令的五种方法小结”的完整攻略,其中包含两个示例说明。 1. 前言 在Windows系统中,可以使用Shell.Application对象执行命令。本攻略将详细讲解Shell.Application对象执行命令的五种方法。 2. 方法一:使用WScript.Shell对象的Run方法 以下是使用WScript…

    Shell 2023年5月16日
    00
  • Shell脚本中执行sql语句操作mysql的5种方法

    以下是关于“Shell脚本中执行SQL语句操作MySQL的5种方法”的完整攻略,其中包含两个示例说明。 1. 前言 在Shell脚本编程中,我们经常需要执行SQL语句来操作MySQL数据库。本攻略将介绍Shell脚本中执行SQL语句操作MySQL的5种方法。 2. 执行SQL语句操作MySQL的5种方法 2.1 使用mysql命令 mysql命令是MySQL…

    Shell 2023年5月16日
    00
  • 基于Shell中for循环的几个常用写法分享

    以下是关于“基于Shell中for循环的几个常用写法分享”的完整攻略,其中包含两个示例说明。 1. 前言 Shell中的for循环是Shell脚本编程中非常重要的一项功能,可以帮助我们实现循环执行某些操作的功能。本攻略将介绍Shell中for循环的几个常用写法,帮助你更好地掌握Shell脚本编程。 2. for循环的基本语法 Shell中for循环的基本语法…

    Shell 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部