ubuntu .sh(ubuntu命令)

大家好,今天小编来为大家解答ubuntu .sh这个问题,ubuntu命令很多人还不知道,现在让我们一起来看看吧!

ubuntu下source.sh.bash../执行脚本的区别详细介绍

ubuntu下source、sh、bash、./执行脚本的区别

   1.source命令用法:

   source FileName

   作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"

注:该命令通常用命令“.”来替代。

如:source.bash_profile  

   ..bash_profile两者等效。

source(或点)命令通常用于重新执行刚修改的初始化文档。

source命令(从 C Shell而来)是bash shell的内置命令。

点命令,就是个点符号,(从Bourne Shell而来)。

source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效

   2 sh, bash的命令用法:

    sh/bash FileName

作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无"执行权限"

注:运行一个shell脚本时会启动另一个命令解释器.

    每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.

这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.

    shell脚本也可以启动他自已的子进程.

这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.

在ubuntu中sh只是bash的一个链接。 

由于是在子shell中执行,脚本设置的变量不会影响当前shell。

   3、./的命令用法:

./FileName

作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要"执行权限"

注:运行一个shell脚本时会启动另一个命令解释器.

    每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.

这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.

    shell脚本也可以启动他自已的子进程.

这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.

由于是在子shell中执行,脚本设置的变量不会影响当前shell。

ubuntu 运行.sh文件

运行.sh文件可以通过多种方式实现,理解每种方法有助于更灵活地处理脚本执行。以下是几种常用方法及其区别:

1.**使用 sh执行**

使用 `sh`命令执行.sh文件,如 `sh test.sh`,指示系统使用默认的 `sh` shell来运行脚本。此方法使用的是被bash替代的shell,尽管脚本可能声明使用 `#!/bin/bash`,实际执行仍依赖于默认的 `sh`环境。

2.**使用 bash执行**

使用 `bash`命令执行.sh文件,如 `bash test.sh`或 `dash test.sh`,明确指定使用bash shell执行脚本。bash为当前主流shell,支持更多功能和关键字,如 `let`。bash、dash在部分关键字处理上存在差异,bash提供更广泛的shell功能。

3.**使用点操作执行**

通过添加执行权限使用 `./`前缀执行.sh文件,如 `chmod+x test.sh`授予执行权限后,使用 `./test.sh`。这种方式默认使用 `bin/bash`执行,且执行过程中创建独立shell环境。与前两种方法不同,此方法在当前shell中运行脚本,不需要额外的环境。

4.**使用 source执行**

使用 `source test.sh`直接执行脚本,不创建新shell环境。这种方式在当前shell中运行脚本,且脚本内的操作在shell执行结束后仍然有效,适用于需要在当前shell环境中持久化设置的场景。

每种方法的执行原理及差异在于是否创建新shell环境,以及是否对当前shell环境产生持久影响。选择合适的方法取决于脚本执行需求和预期的shell环境行为。理解这些方法及其应用场景,有助于更高效地管理和执行.sh脚本。

linux运行sh文件命令linux运行sh

LINUX下如何安装SH文件?

记下在Ubuntu下安装*.sh和*.bin的简单方法。

*.sh文件安装方法:

运行终端到文件目录下

1.在终端输入:sudosh*.sh直接运行

2.在终端输入:sudochmod+x*.sh

再输入:sudo./*.sh可安装到任意目录,./*.sh可安装到当前用户有权限的目录

*.bin文件安装方法:

运行终端到文件目录下

在终端输入:sudochmod+x*.bin

再输入:sudo./*.bin可安装到任意目录,./*.bin可安装到当前用户有权限的目录

免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好

阅读剩余
THE END