当前位置:首页 > 行业动态 > 正文

Linux 脚本 sh 和 ./ 的区别

在 Linux 系统中,sh./ 是两种不同的命令执行方式,它们的主要区别在于执行脚本的方式和上下文环境,以下是它们的详细区别:

1. 执行方式

sh

定义sh 是一个用于执行 shell 脚本的命令,它通常用于执行 Bash 或其它类型的 shell 脚本。

使用方式sh script_name.sh

示例:如果你有一个名为 script_name.sh 的脚本文件,你可以使用 sh script_name.sh 来执行它。

./

定义./ 是一种相对路径表示方法,它表示当前目录。

使用方式./script_name.sh

示例:如果你有一个名为 script_name.sh 的脚本文件,你可以使用 ./script_name.sh 来执行它。

2. 上下文环境

sh

优点sh 命令可以明确指定要使用的 shell 类型,Bash、KornShell 等。

缺点:如果脚本的第一行没有指定正确的 shell 类型,那么可能会使用错误的 shell 来执行脚本,导致脚本无法正常运行。

./

优点./ 命令会根据脚本文件的第一行(shebang line)来确定使用的 shell 类型,如果脚本的第一行是 #!/bin/bash,那么就会使用 Bash shell 来执行脚本。

缺点:如果脚本的第一行没有指定正确的 shell 类型,那么可能会导致脚本无法正常运行。

3. 归纳

特性 sh ./
执行方式 通过 sh 命令执行脚本 通过脚本文件的相对路径执行脚本
上下文环境 需要手动指定 shell 类型 根据脚本的 shebang line 确定 shell 类型
优点 可以明确指定 shell 类型 可以根据脚本的 shebang line 自动选择 shell 类型
缺点 如果脚本的第一行没有指定正确的 shell 类型,可能会导致脚本无法正常运行 如果脚本的第一行没有指定正确的 shell 类型,可能会导致脚本无法正常运行

sh./ 都是用于执行 Linux shell 脚本的命令,但它们在执行方式和上下文环境上有所不同,在选择使用哪种命令时,应根据实际需求和脚本的特性来决定。

0