linux - #./和# 之间的区别。 ./

标签 linux bash dot-source

执行脚本有什么区别

# ./test

# . ./test 

例如测试是简单的脚本

#!/bin/bash
export OWNER_NAME="ANGEL 12"
export ALIAS="angelique"

我知道结果,但我不确定到底发生了什么

谢谢

最佳答案

./foo 执行 foo 如果它被标记为可执行文件并且有一个正确的 shebang 行(或者是一个 ELF 二进制文件)。它将在一个新的进程中执行。

。 ./foo。 foo当前 shell 中加载脚本。它等于source foo

对于您的示例代码,如果您希望导出的变量在您的 shell 中可用,则需要使用第二种方式。

关于linux - #./和# 之间的区别。 ./,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9017763/

相关文章:

linux - Bash 关联数组错误

powershell - 为什么PowerShell.exe 没有办法dot source 一个脚本?

linux - sudo must be setuid root 错误

Linux 上的 PHP Ping 超时不起作用

linux - 计算行数并按前缀词分组

mysql - Linux 上的 Apache,Windows 上的 MySql

bash - bash 中的传统除法符号

arrays - 通过动态构造的变量名称间接分配给bash数组变量