在 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 脚本的命令,但它们在执行方式和上下文环境上有所不同,在选择使用哪种命令时,应根据实际需求和脚本的特性来决定。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/669439.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复