📜  打开 .命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:54:31.604000             🧑  作者: Mango

打开 .命令 - Shell-Bash

在Shell命令行中,我们经常要执行一些程序或脚本文件。在Unix或类Unix系统中,我们使用. 或者source 命令来执行一个可执行文件或脚本文件。这个命令是用来执行指定脚本或命令文件中的语句,并返回结果到Shell当前环境。

基本语法

在Shell命令行中执行可执行文件或脚本文件的语法如下:

. filename [arguments]

或者

source filename [arguments]
  • filename:表示要执行的可执行文件或脚本文件的名字。
  • arguments:可选,表示要传递给被执行文件的参数,以空格进行分割。
点符号和source的区别

对于. source 命令,在普通的情况下,它们是等价的。它们会在当前Shell环境中执行指定的可执行文件或脚本文件,并将所有运行结果返回到当前Shell环境中。但是,它们在用于不同的Shell脚本文件时,有一些区别的:

  • 在bash中,.等价于source ,所以两者都可以使用。
  • 在其他Shell中,. 是单独的命令,而source 是bash所特有的扩展命令。
用处

通过. source 命令可以为当前Shell环境加载定义在指定Shell脚本文件中的变量、函数和别名等信息。比如,在我们定义的一个Shell脚本文件example.sh中包含如下内容:

#!/bin/bash
function hello(){
    echo "Hello, world!"
}

我们可以在当前的Shell环境中通过以下命令执行Shell脚本文件,并且调用其中定义的函数:

$ source example.sh
$ hello   #调用函数
Hello, world!
注意事项
  • 因为执行一些可执行文件或脚本文件可能会改变当前Shell环境中的变量或者路径等设置,所以使用这两个命令时要格外小心,避免对当前Shell环境产生意外的影响。
  • filename 参数必须用相对或绝对路径指定,否则系统会根据PATH环境变量来搜索要执行的可执行文件或脚本文件。
  • 在执行一个可执行文件或脚本文件时,我们可以使用$? 变量来判断执行结果是否成功,返回值为0表示执行正确,非0则表示执行失败。