shell中source、sh、bash、./执行脚本的区别
时间: 2023-05-08 17:58:21 浏览: 136
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将会被关闭。
综上所述,四种不同的执行脚本的方式各有特点,可以根据需要选择适合的方式来执行脚本。
相关问题
linux如何编写shell脚本执行source /etc/profile命令
您可以使用以下命令编写shell脚本来执行source /etc/profile命令:
```
#!/bin/bash
source /etc/profile
```
将以上命令保存为脚本文件,例如myscript.sh,然后在终端中输入以下命令来运行该脚本:
```
bash myscript.sh
```
这将以bash shell运行脚本,并执行source /etc/profile命令,使您在当前终端中使用环境变量。
linux sh执行脚本
在Linux中,有多种方式可以执行Shell脚本,以下是其中三种常用的方法:
1. 直接执行脚本文件
```bash
./test.sh
```
其中,test.sh是脚本文件名,需要在文件名前加上"./",表示在当前目录下查找并执行该脚本文件。
2. 使用bash命令执行脚本文件
```bash
bash test.sh
```
其中,test.sh是脚本文件名,直接使用bash命令执行该脚本文件。
3. 使用source或"."命令执行脚本文件
```bash
source test.sh
```
或者
```bash
. test.sh
```
其中,test.sh是脚本文件名,使用source或"."命令执行该脚本文件,该命令会在当前Shell中执行脚本文件中的命令和语句。