sh 执行文件 和 ./执行文件有什么区别
时间: 2023-12-22 20:02:37 浏览: 50
`sh` 命令和 `./` 命令都用于在Linux系统中执行脚本文件,但它们之间有一些区别。
1. `sh` 命令:`sh` 命令是用来执行Shell脚本的命令,它会启动一个新的Shell进程,并将脚本文件作为参数传递给Shell解释器。使用 `sh` 命令执行脚本时,不需要脚本文件具有可执行权限,只要Shell解释器可以读取并解释该文件即可。例如:
```
sh /path/to/script.sh
```
使用 `sh` 命令执行脚本时,可以不在当前目录下。
2. `./` 命令:`./` 命令是用来执行当前目录下的可执行文件的命令。通过在文件名前加上 `./`,告诉系统在当前目录中查找该文件并执行它。执行文件时,需要确保文件具有可执行权限。例如:
```
./script.sh
```
使用 `./` 命令执行脚本时,需要在当前目录下。
总结来说,`sh` 命令可以在任何位置执行脚本文件,而 `./` 命令只能在当前目录下执行可执行文件。另外,使用 `sh` 命令可以在没有可执行权限的情况下执行脚本文件,而 `./` 命令要求文件拥有可执行权限。
相关问题
shell中source、sh、bash、./执行脚本的区别
shell是一个用于操作系统的命令行解释器,用来解释用户的命令并执行操作。在shell中,source、sh、bash和./执行脚本是使用方式不同的四种执行脚本的方法。
首先是source命令,它用于在当前shell环境中执行指定的脚本,也被称为"dot sourcing"。通过"source 脚本文件"的方式来执行。在执行过程中,脚本中的变量和函数将会在当前shell环境中被定义和使用。
其次是sh命令,它是Bourne Shell的简称,是一种常见的UNIX和Linux系统默认使用的shell。通常用于在当前shell环境中执行脚本,使用方式类似于"sh 脚本文件"。sh能够执行简单的脚本,但不支持一些高级特性,如数组、函数等。
bash是目前在Linux系统中广泛使用的shell,是Bourne-Again SHell的缩写。它是Bourne shell的增强版本,具有更多的特性和高级功能。bash可以执行sh脚本,同时也支持更多的特性。
最后是./执行脚本的方式,通常用于执行当前目录下的脚本。使用方式为"./ 脚本文件"。与source命令不同,当用./执行脚本时,将会开启一个新的子shell执行脚本文件,执行结束后子shell将会被关闭。
综上所述,四种不同的执行脚本的方式各有特点,可以根据需要选择适合的方式来执行脚本。
.sh 文件中./name 在外面输入命令时在输入
您好!对于您提到的问题,"./name" 是一个 shell 脚本文件中的相对路径,表示执行当前目录下名为 "name" 的可执行文件。当您在命令行中输入该命令时,系统会在当前目录下查找并执行该文件。请注意,"." 表示当前目录,"./" 是指明该文件在当前目录下。
您可以在命令行中输入以下命令来执行该脚本文件:
```
./name
```
这样系统就会在当前目录下找到名为 "name" 的可执行文件并执行它。希望能对您有所帮助!如果有其他问题,请随时提问。